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.