如何在Perl中获取引用数组?

时间:2010-09-14 12:31:12

标签: arrays perl reference slice

我有一个数组$arr_ref的引用。我想获得一个对原始数组中只包含单元格i..j的数组的引用。

3 个答案:

答案 0 :(得分:7)

@slice = @{$arr_ref}[$i..$j];

答案 1 :(得分:5)

my $r = [0..9];    
print $_, "\n" for @$r[3..5];

如果包含引用的变量比普通标量更复杂,请将其括在大括号中。这是必需的,因为解除引用发生在下标查找之前:

my @refs = ( [0..9], [100..109] );
print $_, "\n" for @{ $refs[1] }[4..8];

答案 2 :(得分:4)

@rainbow = ("red", "green", "blue", "yellow", "orange", "violet", "indigo");
$arr_ref = \@rainbow;
$i = 1;
$j = 3;
@slice = @$arr_ref[$i..$j]; # @slice is now green blue yellow