Today I have encountered a problem that required me to determine the maximum index of an array in perl. I used to do it this way:
my @array = (1, 2, 3);
print $
This is documented in perldoc perldata, section "Scalar Values". In short, $#array
is the last index of @array
. As for how it works — it's sort of like an operator, but only as much as $
and @
are operators. Think of it as special syntax. The last index of an array just happens to "have a name". It's a variable that you can read from and assign to.
That gives you the last index. It's documented in perldata - http://perldoc.perl.org/perldata.html
The use is mentioned in first example in perldata. It denotes index of last item in the array.
Btw, you can also use
$array[-1]
to get last item.