Perl:如何同时访问数组中的多个非连续元素?

Noa*_*men 2 perl

我想查询的数组在执行期间不会更改:

my @const_arr=qw( a b c d e f g);
Run Code Online (Sandbox Code Playgroud)

输入是一个包含我想要访问的索引的字符串,例如:

my $str ="1,4";
Run Code Online (Sandbox Code Playgroud)

是否有某些东西(除了迭代索引之外$str)沿着@subarray = @const_arr[$str]那条线 会导致@subarray包含[b,e]

cho*_*oba 5

如果索引在字符串中,您可以拆分字符串以获取它们:

@array    = qw(a b c d e);
$indices  = '1,4';
@subarray = @array[split /,/, $indices];
print "@subarray\n";
Run Code Online (Sandbox Code Playgroud)

  • 如果从问题中保留"我的和变量名称",这个答案会更好. (2认同)