use warnings; ## or die! use strict; ## seriously - don't anger the gods use diagnostics; ## but if you do, make them tell you why (patiently)... if (my $big_int = big_int('101_dalmations') ){ ... it was OK so go ahead and play ... } else { ... no need for this bit, error messages already generated! ... ... maybe you want to do something else though? ... } ### SUBS ### sub big_int{ my $input = shift; ## check for any source of errors if ( $input =~ /\D/ ){ ## non-digits - argh! warn "$input contains non digits\n"; return 0; } elsif (... something else ...){ ... } return ($input + 1000_000); }