当我从子程序调用数组时,我只能打印第1节。 在子程序中,我能够打印所有记录但是当我在脚本上调用相同的数组时,我只能在输出之下。
@array = test();
DEBUG(Dumper(\@array);
2014/07/04 1:28:38 $VAR1 = [
[
'Router1',
'Router2',
'Router3',
]
];
sub test {
my @array;
for my $record (@array) {
for my $value (@$record) {
DEBUG("DEBUG: Value of array $value ");
}
}
return (@array);
}
Dumper输出如下:
2014/07/04 1:28:38 $VAR1 = [
[
'Router1',
'Router2',
'Router3',
]
];
2014/07/04 1:28:38 $VAR1 = [
[
'Switch1',
'Switch2',
'Switch3',
]
];
2014/07/04 1:28:38 $VAR1 = [
[
'Switch11',
'Switch21',
'Switch31',
]
];
预期产出:
Router1
Router2
Router3
Switch1
Switch2
Switch3
Switch11
Switch21
Switch31
感谢。
答案 0 :(得分:1)
您的子例程test
声明一个空数组@array
并将其转储。你将没有输出,因为它是空的。您在程序开头转储的数组是一个不同的数组