Auf einer unserer Windows XP-Maschinen erzeugen Perl Systembefehle wie dir /b
eine Fehlermeldung wie: /b: no such file or directory
. Mit anderen Worten, der Schalter wird als Dateiname interpretiert.Warum ruft der Perl-Systemaufruf den internen Windows-Befehl nicht auf?
Dies tritt auf, ob ich , open()
oder system()
verwenden. Ich habe sogar versucht, den Switch als separaten arg to system() zu übergeben. Natürlich habe ich bestätigt, dass der Aufruf in der DOS-Befehlszeile oder im Batch-Skript korrekt funktioniert.
Hat jemand anderes dieses begegnet?
Haben Sie den Perl-Interpreter für Windows auf diesem Computer installiert? Windows führt Perl-Skripts nicht nativ aus. Sorry Grundfrage, aber es scheint seltsam. Wenn du das installiert hast, könntest du bitte versuchen, dem '/' zu entkommen? Schon eine Weile her, seit ich mit Perl unter Windows gearbeitet habe. – Namphibian
Perl entkommt gerade den Sonderzeichen, die Standardverhalten sein sollten, wenn mein Speicher mir richtig dient. – Namphibian
Namphibian, ja, ActivePerl ist auf diesem Rechner installiert und scheint mit anderen Aspekten von Perl zu funktionieren. Ich habe versucht, Perl auf diesem Computer neu zu installieren, um sicherzustellen, dass es mit unseren anderen Computern übereinstimmt (die dieses Problem nicht haben). Übrigens, alle laufen auf demselben Betriebssystem (XP SP3). – UhClem