你实际上已经有了正确的答案,但显然从未尝试过.它被称为数组切片,由于需要下标列表,因此在列表上下文中计算数组.正如您所提到的,在标量上下文中评估数组会返回它包含的元素数.
use strict; use warnings; use Data::Dump; my @arr1 = qw(a b c d e f); my @arr2 = qw(0 2 4); my @arr3 = @arr1[@arr2]; dd(\@arr3);
输出:
["a", "c", "e"]