unless ($error_or_result = my_sub()) { # FALSE in boolean context # but still contains text when stringified die "Your error was: $error_or_result\n"; } print "Your result was $error_or_result\n";