c:\@Work\Perl\monks>perl -le "use strict; use warnings; ;; no warnings 'numeric'; print 'numeric warning DISabled'; ;; print q{'abc' }, isNumber('abc'); print q{'123' }, isNumber('123'); print q{123 }, isNumber(123); ;; sub isNumber { @_ or return 0; my $N = shift; defined $N or return 0; my $R = 1; { local $SIG{__WARN__} = sub { $R = 0; }; $N = int($N); } return $R; } " numeric warning DISabled 'abc' 1 '123' 1 123 1