Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8644[/thread]

UNIX-Kommando in Perl-Skript verwenden



<< >> 3 Einträge, 1 Seite
Duff
 2007-01-15 13:45
#73207 #73207
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Hallo,

ich habe folgendes Problem und komme einfach nicht weiter.
Ich möchte in einen perl-Skript ein unix-kommando ausführen und dann das Resultat in einem Array speichern.

Allerdings erhalte ich für die Zeile mit dem Unix-Kommando folgenden Fehler:
Code: (dl )
Use of uninitialized value in concatenation (.) or string at 


Die Zeile mit dem UNIX-Befehl sieht so aus:
Code: (dl )
@pids=system("/usr/bin/grep 'Fehler' logfile | /usr/bin/awk -F \"[.|:]\" '{print $4}' | /usr/bin/sort -u");


Schon mal Danke im vorraus.
D'OH
Daniel
renee
 2007-01-15 14:00
#73208 #73208
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mit system bekommst Du keine Ausgaben...

Und wenn Du awk-Variablen verwendest, musst Du das $ escapen, also:
Code: (dl )
@pids=system("/usr/bin/grep 'Fehler' logfile | /usr/bin/awk -F \"[.|:]\" '{print \$4}' | /usr/bin/sort -u");


Da Du aber die Ausgabe haben willst, solltest Du
Code: (dl )
@pids=qx{/usr/bin/grep 'Fehler' logfile | /usr/bin/awk -F \"[.|:]\" '{print \$4}' | /usr/bin/sort -u};
probieren...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Duff
 2007-01-15 14:06
#73209 #73209
User since
2006-10-06
283 Artikel
BenutzerIn

user image
Vielen Dank.
Dass wird dann wohl auch mein Problem gewesen sein, das $-Zeichen. Da hätte ich ja noch lange suchen können.

Werde es gleich mal probieren.

Vielen Dank nochmal.
D'OH
Daniel
<< >> 3 Einträge, 1 Seite



View all threads created 2007-01-15 13:45.