PERL语言入门:第三章:列表与数组:foreach, $_, each用法

#!/usr/bin/perl -w
#foreach输出数组或列表
#$_为 PERL的默认变量, 当foreach不设置参数时, 默认保存到$_中
#eg.

@array = qw/path user login passwd test/;
print "数组\@arry值为:@array\n";
print qq/用foreach输出数组:\n/;

#注意这里的数组要用括号括住才行
foreach $test (@array){
	print "$test\t";
}
print "\n";
#注意, 些时再输出$test会得到undef, 因为当退出foreach时, $test回归原来状态
print "\n";
print "\$test = $test\n";
print "\n";
foreach $test (1..9){
	print "$test\t";
}
print "\n";
#现在省略$test变量再输出试下
foreach (@array){
	print "$_\t";
}
print "\n";
#现在省略$test变量再输出试下
foreach (a..z,A..Z){
	print "$_\t";
}
print "\n";

#each能返回数组或列表的索引与值
@array=qw/NAME ROOT HOST LOCALHOST IP 192.168.1.3/;
my($a, $b);
while (($a, $b) = each @array){
	print "$a\t$b\n";
	#注意这里的括号
}
#注意, 用my定义变量时, 要加括号括起来, 而my定义的变量, 只在一个块里有效,
#像上面一样, 当while块结束时, my定义的两个变量值会重新变成undef
print q/$a = /;
print "$a\n";
print q/$b = /;
print "$b\n";

你可能感兴趣的:(linux,shell,perl基础)