代码:

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获得参数后要检测是否定义,如果么有定义考虑给予默认值。

完!

作者: iTech
微信公众号: cicdops
出处: http://itech.cnblogs.com/
github: https://github.com/cicdops/cicdops