User since
2005-10-28
5
Artikel
BenutzerIn
Hallo Leute - mein erster Beitrag,
habe folgendes Problem unter Activestate Perl auf Windows(XP):
Ich kann zwar z.Bsp: mit system('time /T') das Kommando 'time /T' aufrufen ('/T' bringt die Zeit ohne abfrage auf einstellen der neuen Uhrzeit). Jedoch kann ich das Ergebnis/die Ausgabe des Kommandos keiner Variable zuweisen, also:
$time = system('time /T');
...weist variable $time den Wert 0 zu...
wiss Ihr vielleicht, woran das liegen könnte bzw. wie ich den eine Systemausgabe einer Variablen unter Windows zuweisen kann ?
viele Grüsse und Dank im Voraus
Thomas
User since
2005-10-26
8
Artikel
BenutzerIn
hallo!
mit system funktioniert das so nicht!
probiers mal so:
my $time= qx("time /T");
User since
2005-10-28
5
Artikel
BenutzerIn
Yeehaa! es Funktioniert!
Danke für den Hinweis.
Ist schon komisch - den Aufruf hat er mit 'system' ausgeführt, aber die nix in die variable geschrieben.
Aber das sind wahrscheinlich die kleinen(großen?) Unterschiede zwischen Windows-Perl und Unix/Linux-Perl...
Schönes Wochende wünsch ich Dir, Landogar
User since
2005-01-17
14748
Artikel
Admin1
system liefert nicht den Inhalt der Ausgabe des Programms zurück!
Quote The return value is the exit status of the program as returned
by the "wait" call. To get the actual exit value divide by 256.
See also the exec entry elsewhere in this document. This is
*not* what you want to use to capture the output from a command,
for that you should use merely backticks or "qx//", as described
in the section on "`STRING`" in the perlop manpage. Return value
of -1 indicates a failure to start the program (inspect $! for
the reason).
Auszug
perldoc -f system
User since
2005-01-17
14748
Artikel
Admin1
[quote=landogar,28.10.2005, 14:40]hallo!
mit system funktioniert das so nicht!
probiers mal so:
my $time= qx("time /T");[/quote]
reicht aus.
qx quotet ja schon, da braucht es keine Anführungszeichen.
User since
2005-08-17
1420
Artikel
BenutzerIn
Das ist nicht komisch, dass in der Variable ne Null drinsteht, das is so gewollt und steht wie GwenDragon schon schreibt aus so in der Doku ;)