in reply to How do I return false and set an error in special variable $!
Though you can't use $! you can use $@. It might be considered bastardizing it.
use strict; use warnings; for(qw(1 4 haha)){ usenumbers($_) or die($@); } sub usenumbers { my $var = shift; unless($var =~ /^\d+$/) { $@ = "Invalid Number"; return; } print "Yes, [$var] has numbers.\n"; return 1; }
|
|---|