读书人

perl 中插入了数组解决办法

发布时间: 2012-03-16 16:34:56 作者: rapoo

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,]);



这样以后,如何我要遍历这个数组呢

[解决办法]
你这个应该是个二维数组。如果想打印的话可以如下做:

Perl code
foreach (@array){   print("@$_\n");}
[解决办法]
Perl code
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";
}
[解决办法]
Perl code
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]本身属于一个数组的引用,函数得到的就是一个引用变量,
可以直接像内层循环一样处理

读书人网 >perl python

热点推荐