http://www.perlmonks.org?node_id=661570


in reply to exit calling subroutine

By convention, perl uses an undefined return as you have to signal an error. You need to test that return value to make the convention effective. partial_success() if not defined do_stuff();

It seems that your end logic makes the return value irrelevant. Setting $ERRNO or $! is always useful, since even the shell on end will honor and report that value.

After Compline,
Zaxo