Bei der Eingabe per Hand ist ja wieder die Shell beteiligt.
Die Option ist eine Argument und der Wert für die Option ebenfalls.
Wenn Du die Shell raushaben willst, musst Du beides einzeln angeben.
Leerzeichen werden ohne Shell nicht mehr "raus optimiert".
In der Fehlermeldung ist ja auch zu sehen, dass bei "-N 1" das ganze als ein Parameter gewertet wird.
Die Shell ist nicht mehr involviert und das Leerzeichen wird als Teil des Parameter gewertet. Und " 1" ist offensichtlich kein gültiger Wert für die Option "-N" .
Anstatt
system( 'cmd', '-O foo' ) also mal
system( 'cmd', '-O', 'foo' ) probieren.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!