http://qs321.pair.com?node_id=1091060


in reply to perl program return error code to ksh

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.