use Scalar::Util qw[ dualvar ];; sub alwaysFails { return dualvar 0, 'Some text to explain the error'; };; $rv = alwaysFails();; print "Sub failed with error: $rv" if !$rv;;