http://qs321.pair.com?node_id=679992


in reply to Re: check if its a number
in thread check if its a number

Yes you can write a function that tells you if a given string triggers the warning.

sub perl_thinks_it_is_number { eval { use warnings FATAL => 'numeric'; no warnings 'void'; 0+shift; 1; } } print "'foo' isn't a number\n" unless perl_thinks_it_is_number 'foo'; print "'17' is a number\n" if perl_thinks_it_is_number '17';
Note that this will consider '00' and some other oddities to be a number. You are probably better sticking with other answers elsewhere in this thread.