Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: perl program return error code to ksh

by blue_cowdawg (Monsignor)
on Jun 24, 2014 at 14:20 UTC ( #1091060=note: print w/replies, xml ) Need Help??


in reply to perl program return error code to ksh

      returns a 0 error code even with a die statement

I'm pretty sure die is returning a nonzero value. That's how it is designed. Here is what I mean:

~# perl -e 'die "trying"' trying at -e line 1 ~# echo $? 255
As mentioned elsewhere the Perl script may be getting executed in such a way that the return code is obfuscated. Something like:
myscript.pl | do_something
What does the sniglet of shell code look like that is invoking the Perl script?


Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

Replies are listed 'Best First'.
Re^2: perl program return error code to ksh
by Anonymous Monk on Jun 24, 2014 at 18:37 UTC
    ${BIN_DIR}/tapeloadListing.pl >> ${LOGS_DIR}/corps.${VERSION_DATE}.l +og #2>&1 if (( $? == 0 )); then echo "PERL script used to get the tapeload snapshot ra +n successfully" else echo "PERL script used to get the tapeload snapshot fa +iled, hence aborting the script as the files can't be downloaded" | m +ailx -s "CORP V2 BUILD ERROR - ${VERSION_DATE}" ${MAIL_ADMIN} exit 1; fi
    The perl code
    $fh = new FileHandle; $fh -> open("< /export/home/$ADMIN/pwds/ftp_pass.txt") or die "Error o +pening FTP password file, $!"; $TAPELOAD_PWD = sprintf <$fh>; $fh -> close; print $TAPELOAD_PWD chomp($TAPELOAD_PWD);
    If I put in a totally incorrect user in the perl code, the KSH script still continues to run which I want to exit immediately.

      add some code tags pretty please?


      Peter L. Berghold -- Unix Professional
      Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

      Are you seeing the message:

      Error opening FTP password file, ....

      ?

      Where you say:

      If I put in a totally incorrect user in the perl code, the KSH script still continues to run which I want to exit immediately.

      implies the Perl script error is somewhere else.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1091060]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2020-05-30 12:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If programming languages were movie genres, Perl would be:















    Results (171 votes). Check out past polls.

    Notices?