$[++; # No go. $[+=1; # Not happening $[ = $[; # Works. $[ = $[ + 1; # That will work! print \$[; # Ok, works. $[ = \$[; # which also works print $[; # Whoo fun! #### $[=-1; @_=qw/foo bar baz/; print $_[-1]; # foo print $_[-2]; # bar print $_[-3]; # foo #### #WRONG: for(my $i=0; $i<$#foo; $i++){} #RIGHT: for(my $i=$[; $i<$#foo; $i++){} #### #WRONG: foreach(0..$#foo){} #RIGHT: foreach($[..$#foo){}