Модули Perl должны возвращать то, что имеет значение true. Если это не так, Perl сообщает об ошибке.
C:\temp>cat MyTest.pm
package MyTest;
use strict;
sub test { print "test\n"; }
#1; # commented out to show error
C:\temp>perl -e "use MyTest"
MyTest.pm did not return a true value at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
C:\temp>
Хотя обычно используется «1;», все, что имеет значение true, будет работать.
C:\temp>cat MyTest.pm
package MyTest;
use strict;
sub test { print "test\n"; }
"false";
C:\temp>perl -e "use MyTest"
C:\temp> (no error here)
По очевидным причинам другим популярным возвращаемым значением является 42 .
Есть список крутых возвращаемых значений, поддерживаемый на http://returnvalues.useperl.at/values.html.