Hallo,
ich habe folgendes Problem:
[Windows 2008 Server, Active Perl 5.14.2]
Ein perl-script soll eine Datei mit (u.a.) Ip-Adressen auslesen, um daraus eine Folge von Programmaufrufen zu generieren, die diese IP-Adressen jeweils als Argument enthalten.
Soweit so einfach.
open (TARGET, ">$t");
open (FILE, "<$filename");
while (<FILE>) {
chomp ($_);
my ($ip,$ping,$hostname,$ports) = split /,/, $_;
print TARGET "PRORAMM.exe -host $ip -function xxx\n";
};
Eigentlich passiert kaum etwas, die Datei wird lediglich zeilenweise mit den Aufrufen gefüllt.
Nun wird der Programmaufruf allerdings nicht ausgeführt mit der Fehlermeldung, die usage sei illegal, also ein falsches Format für die Parameterübergabe beim Programmaufruf.
Aus irgendeinem Grund scheint perl unsichtbare Zeichen mitzugeben, denn wenn ich die identische Anweisung manuell tippe wird sie akzeptiert.
Auch wenn ich Umwege per copy&paste mache, wird die von perl generierte Anweisung abgelehnt und die manuell getippte akzeptiert.
Ich habe (nach Übergabe in eine Variable) auch versucht, Sonderzeichen zu filtern: Keine Änderung.
$temp =~ s/[^a-zA-Z0-9\. ]//g;
$temp =~ s/\r\t\n\f//g;
Strange, habe ich so noch nicht erlebt. Windows-Problem? Ich weiß jedenfalls nicht mehr weiter.
Gruß
Astralkeks
Last edited: 2012-07-17 11:46:59 +0200 (CEST)