Thread Programm aus perl starten und Ausgabe auslesen
(2 answers)
Opened by MickiM at 2006-09-13 21:41
Deine Kommandozeile, wie du sie in Perl zusammensetzt, wird auch nur an die Shell übergeben. Perlvariablen, die dabei in der Kommandozeile auftauchen, werden natürlich vorher expandiert. Eventuell musst du deine Parameter daher genauso quoten, wie du es in der Shell machst, z.B. mit einfachen Anführungszeichen.
In renees Vorschlag sähe das dann so aus, vorausgesetzt $progname enthält den Pfad/Namen des Programms und $parameter deinen Parameter: Code: (dl
)
my $return = qx{$programm '$argument'}; Komplizierter, aber auch sicherer ist es, wenn man fork & exec benutzt, um den Kindprozess zu starten. Das folgende Beispiel ist aus perlipc, Abschnitt "Using open() for IPC": Code: (dl
)
1 Â Â Â Here&âs a safe backtick or pipe open for read: |