Thank you Shawn. I will use other alternatives for error checking.
OKI
-----Original Message-----
From: Shawn [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 06, 2002 2:22 PM
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: nonzero $! value after closing a pipe
normally
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, February 06, 2002 6:07 AM
Subject: nonzero $! value after closing a pipe normally
>Hi all,
>
>I have a code part like the following.
>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>open MYPROFILE, "cat mytxtfile |";
Why not say:
open MYPROFILE, "cat mytextfile |" or pr_my_error_routine
�close error in MYPROFILE with $!\n�;
Then have the die or exit in the pr_my_error_routine...
or
my $status=open MYPROFILE, "cat mytxtfile |";
unless($status) {
pr_my_error_routine �close error in MYPROFILE with
$!\n�;
}
You can't rely on $! not to be holding an 'error' already
that you haven't checked for...or, so
has been my experience.
Shawn
>if ( $! != 0 ) {
> print "h1 -> $!\n";
>}
>while (<MYPROFILE>) {
>next if /^(tcp|udp)/;
>print;
>}
>close MYPROFILE or die "bad: $! $?";
>
>if ( $! != 0 ) {
> pr_my_error_routine �close error in MYPROFILE with $!\n�;
>}
><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>
>As a beginner user, I try to use my error routine instead
of die method
>after a simple check
>of last command exit code.
>
>Here if I use a text file
> open MYPROFILE, "mytxtfile "
>instead of a pipe it works. My problem is non-zero value
after close of a
>pipe. die works (I mean it doesn�t die as expected), but I
can�t use if ( $!
>!= 0 ) � instead of die.
>
>TIA,
>
>OKI
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]