sub isUV { my( $i )= @_; return isIntVal($i) && $i == (0|$i); } #### sub isNVint { my( $i )= @_; return isIntVal($i) && $i == int($i); } #### sub isInt { my( $i )= @_; return $i =~ /^-?\d+\z/; } #### sub isIntVal { my( $i )= @_; return $i =~ /^\s*[-+]?\d+\s*$/; } #### sub isIntVal2 { my( $i )= @_; my $warn= 0; { local( $^W )= 1; # my $warn= 0; local( $SIG{__WARN__} )= sub { $warn++ }; $i= 0+$i; } return ! $warn && int($i) == $i; }