#!/usr/bin/perl -w use strict; package search; sub find { # ... return (-1, "my error message"); } package main; my ($exitcode, $msg) = search::find("foo", "bar"); print "exit code: $exitcode, message: '$msg'\n"; #### sub find { ... if (...) { return "Passed\n"; $count++; # never executed ... } #### package search; use Scalar::Util 'dualvar'; sub find { # ... return dualvar -1, "my error message"; } package main; my $ret = search::find("foo", "bar"); printf "exit code: %d, message: '%s'\n", $ret, $ret; # exit code: -1, message: 'my error message'