Confirmed on 5.6.1, 5.8.0, 5.8.1, 5.8.3. Doesn't work on 5.8.4 and 5.8.5.
And I think it should not work, because $foo[$ is the
first element and $foo[$[+1] is the second; I don't see how
$[ and $[+1 can refer to the same element.
All exercises have been tested with perl 5.8.*, and
solutions do not necessarily have to work with any other
I take this to imply that solutions should work with all 5.8.* perls.
Hm, strange.. I actually wrote $foo[$ in the assuption this would prevent any $[-fiddling and force the real solution, but it seems $[ really doesn't work properly in perl: perl -le '$[ = -1; @x = (42); $y = 0; print $x[$y]' prints 42 for me on 5.8.3 and 5.8.4...
I'll add a note to the exercise that the intention is to solve it without diddling $[
Fair enough. My only excuse is that 5.8.3 is the only version I have, and that the other way seemed too similar to one of the solutions from last time around so I wanted to try something different :) I was trying to use the fact that $foo[-1] is the last element in the array, so if the array only has one element ...