my @a= ('a'..'d'); my @b= (4,2,1); print scalar @a[0,@b], $/; print @a[scalar(0,@b)], $/; __END__ b # $a[1] because $b[-1] is 1 d # $a[3] because @b has 3 elements