# untested sub alsoslick() { if do-stuff { return dualvar 1, "SomeValue"; # or just a non-0 numeric value } else { return dualvar 0, "Some error message"; } } my $result = alsoslick; if 0+$result { process( '' . $result ); # or just $result if non-error result is numeric } else { log-error( '' . $result ); }