perl 中插入了数组,
my @array;
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
push(@array,[3,2,3,2,2,3,]);
这样以后,如何我要遍历这个数组呢
[解决办法]
你这个应该是个二维数组。如果想打印的话可以如下做:
foreach (@array){ print("@$_\n");}
[解决办法]
my @array;push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);push(@array,[3,2,3,2,2,3,]);for my $r (@array) { for my $e (@$r) { print "$e "; } print "\n";}
[解决办法]
在内层循环的地方,可以用@来进行强制类型转换,把引用转换成数组,就可以按下标进行访问了
foreach my $a1 (@array) {
my @subarr = @{$a1};
foreach my $a2 (@subarr) {
print $a2.' ';
}
print "\n";
}
[解决办法]
fun_11([34,2,2,2,2,2]);sub fun_11 { my ($r) = @_; # 传入参数list for my $e (@$r) { print "$e\n"; }}
[解决办法]
[34,2,2,2,2,2]本身属于一个数组的引用,函数得到的就是一个引用变量,
可以直接像内层循环一样处理