使用正規表示式:
$ perl -e 'my $xx=1 ;if ($xx=~/^-?\d+$/){warn "int";}else{warn "not int"};warn $xx'
判斷資料型態(數字、字串、refrence-hash、reference-array):
1 2 3 4 5 6 7 8 9 10 11 12 13 | use Scalar ::Util qw(looks_like_number); my $val ; $val = { a => "123" , b => "456" }; $val = [{ a => "123" , b => "456" }]; $val = 6486; $val = "string test" if ( ref ( $val )){ print ref ( $val ); } else { print "is" , looks_like_number( $val ) ? '' : ' not' , " a number\n" ; } |
http://stackoverflow.com/questions/1731333/how-do-i-tell-what-type-of-value-is-in-a-perl-variable
使用ref()
http://stackoverflow.com/questions/12647/how-do-i-tell-if-a-variable-has-a-numeric-value-in-perl
使用 use Scalar::Util qw(looks_like_number);