sub if_integer{ return defined $_[0] && $_[0] =~ m/^\d+$/; } if_integer($_) and print $_, ' is an integer', $/ for -1, 0, 1, 2, 2.2, 1E0, '1E2', 'A', '123', '123 fred' 0 is an integer 1 is an integer 2 is an integer 1 is an integer 123 is an integer