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