我有这个数组:
print ("Grade\n");
for (my $j=0; $j < $size; $j++){
for (my $i=0; $i < $sizeCol; $i++){
print("$newMatrizGrades[$j][$i] ");
}
print ("\n");
}
newSubject ($name,@newArrayNames,@newMatrizGrades);
}
在印刷品上,我可以看到元素。但是当我在常规中时。以这种方式访问数组$ [$ sizeNewArrayName],我得到一个地址而不是值。 @newArrayNames是一维数组,我可以访问元素$ [1],$ [2],...,$ [$ sizeNewArrayName],没有进一步的问题。有人可以帮帮我吗?
答案 0 :(得分:1)
Perl将子例程参数混合到一个长列表中(因此无法识别单独的列表/数组变量),因此在这种情况下,您需要发送对数组的引用,然后在子数据库中取消引用它们当你去使用它们时:
use warnings;
use strict;
newSubject($name, \@newArrayNames, \@newMatrizGrades);
sub newSubject {
my ($name, $names, $grades) = @_;
for (@$names){
# do something
}
print "$grades->[0][0]\n";
}