#!/usr/bin/perl -w use strict; use warnings; print isNumber("abc"); # returns 0 print "\n"; print isNumber("123"); # returns 1 print "\n"; 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; }