代码:
use strict; use warnings; my $test = " asdf "; print " ${test}_test2\n "; # constant use constant { AAA => " aaa ", BBB=> " bbb ", MIN_TOTAL => 12, SCORE_PASS => 90, SCORE_RED => 70, }; print AAA; print SCORE_PASS; # two dimesion arrays my @steps = ( [ " aaa ", " aaavalue "], [ " bbb ", " bbbvalue "], [ " ccc ", " cccvalue "] ); print " \n "; foreach my $i ( 0 .. $ # steps){ print " $steps[$i][0]:$steps[$i][1]\n "; }
代码2:
my $a1; print " $a1\n "; my $a2 = undef; print " $a2\n "; if(! defined( $a1)){ print " a1 is not defined\n ";} if(! $a2){ print " a2 is not defined\n ";} my $a3= ''; if (! $a3 ){ print " a3 is empty string\n " ;}
在定义变量时一定要初始化,或者在使用时判断是否defined,很多的时候还需要判断是否为空字符串。 特别是在使用getopt::long或cgi->query获得参数后要检测是否定义,如果么有定义考虑给予默认值。
完!