[vienna.pm] pipe or die
Peter J . Holzer
hjp+dbi at wsr.ac.at
Thu May 4 10:47:40 CDT 2000
On 2000-05-04 15:09:26 +0200, Toni Andjelkovic wrote:
> Johannes Fuernkranz wrote on Thu, May 04 2000 (13:40:18 +0200):
> > open(IN,"non_existent_script |") or die "Script doesn't exist";
>
> eventuell
>
> open(IN, "<foobar |") or die "open: $!\n";
^^^^^^^^^^^
Das versucht ein File namens "foobar |" zum Lesen zu öffnen :-)
> oder du machst den check beim ersten read oder write auf
> dieses filehandle.
>
> der return-code ist deswegen immer ok, weil der prozess
> "non_existent_script" geforkt wird, und der perl-parent
> nur den return-code von fork() kriegt, glaub ich halt.
Stimmt. Den Exit-Code des Scripts (eigentlich der Shell) bekommt er erst
beim Close.
folgendes Script:
#!/usr/bin/perl -w
open(IN,"./a_script |") or die "open failed: $!";
while (<IN>) {
print "Script: $_";
}
close(IN) or die "close failed: $!";
stirbt nach dem close, wenn das Script nicht existiert oder einen
Exit-Code != 0 liefert. Den Exit-Code (*256) kann man mit $? abfragen,
wenn man unterschiedliche Exit-Codes unterschiedlich behandeln will.
hp
--
_ | Peter J. Holzer | ... Desinformation und Gerüchte,
|_|_) | Sysadmin WSR / LUGA | im Internet auch "flaming" genannt ...
| | | hjp at wsr.ac.at |
__/ | http://www.hjp.at/ | -- Telekom-Presse 2000-04-26
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 371 bytes
Desc: not available
Url : http://mail.pm.org/archives/vienna-pm/attachments/20000504/6bdb9f84/attachment.bin
More information about the Vienna-pm
mailing list