in reply to fun with $[

I don't understand why it would behave differently in Perl 5.8.8, but the following paragraph from perldata seems consistent with the Perl 5.10 behaviour you've described:
Version 5 of Perl changed the semantics of $[: files that don't set the value of $[ no longer need to worry about whether another file changed its value. (In other words, use of $[ is deprecated.) So in general you can assume that
scalar(@whatever) == $#whatever + 1;
(I know this is an old question by now, but I was looking for this line that I vaguely remembered in perldelta, not perldata.)