Ausführung von Kommandos

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

*In Perl können Kommandos mit exec() oder system() zur Ausführung gebracht werden.
 
*Es empfiehlt sich dabei, den impliziten Einsatz der Shell zu vermeiden, da dies zur ungewollten Interpretation von Metazeichen führen kann.
 
*Der Verzicht auf die Shell kann erzwungen werden, wenn exec() oder system() in der folgenden Form verwendet werden:

exec {'/bin/command'} '/bin/command', @args;

Hierbei wird zuerst der Pfadname der auszuführenden Datei angegeben. Wenn der Pfadname nicht absolut ist, wird $ENV{PATH} verwendet, um die Datei zu finden. Dann folgen ohne Komma der Kommandoname, der an das Programm als argv[0] übergeben wird und die restlichen Argumente.
 

*Sowohl exec() als auch system() sind nicht zugelassen, solange $ENV{PATH} nicht auf einen nicht-kontaminierten Wert gesetzt worden ist.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003