in reply to Re: Reference assessment techniques and how they fail
in thread Reference assessment techniques and how they fail

Few people bother with writing for(my $i = $[; $i <= $#arr; $i++)

In Perl 5 $[ is a lexical compiler directive, so you don't have to worry about other users messing with your code through $[.

lodin

Replies are listed 'Best First'.
Re^3: Reference assessment techniques and how they fail ($[)
by Jenda (Abbot) on Apr 08, 2008 at 00:03 UTC
    Note that, unlike other compile-time directives (such as strict), assignment to $[ can be seen from outer lexical scopes in the same file. However, you can use local() on it to strictly bound its value to a lexical block.
           from perldoc perlvar

    So I don't have to worry that someone will change mine $[ from within a different file that I used, but I still might run into problems if someone fiddles with $[ somewhere above my code in the same file.

    @a = (0,1,2,3,4,5); sub pr { print "sub \$a[2]=$a[2]\n"; } print "\$a[2]=$a[2]\n"; pr; { $[ = 1; print "\$a[2]=$a[2]\n"; pr; } print "\$a[2]=$a[2]\n"; pr;

    I refuse to worry anyway.