http://www.perlmonks.org?node_id=1006779


in reply to Last index use in array slice

First you have to understand that you're slicing a list not an array.

Then a range from $index .. -1 must be empty because the upper bound must be bigger than the lower one (the range operator has no idea that you mean the biggest index, it's just the number "minus 1")

When using arrays you can write something like @array[$index..$#array] but as already stated you're not slicing an array and there is nothing like a counter for "last list entry". (your $# is another beast)

In short, you can't slice a list till the end w/o much obfuscatory magic, so better do it the "normal" way with arrays:

my @array = split /\n/, $object->get_array; my @slice = @array[$index .. $#array];

HTH! =)

Cheers Rolf