|
logviewer.pl |
my $pipe = new IO::File; my $pid; if (defined($pid = open($pipe, "-|"))) { if ($pid > 0) { return ($pipe, $pid); } else { exec($cmd) || exit 1; } } else { return undef; } |
$pipe = new FileHandle; legt einen neue Dateiverbindung
an, ohne sie konkret zu eröffnen.
| |||||||
Im Vergleich zu open($pipe, "$cmd |") wird bei
open($pipe, "-|") nur eine Pipeline angelegt und fork
ausgeführt -- jedoch kein exec.
| |||||||
Entsprechend liefert diese Variante von open den
Return-Wert von fork zurück:
| |||||||
Mehr zu dieser Technik gibt es auf der Manualseite perlipc
unter der Rubrik ``Safe Pipe Opens''.
|
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |