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]