Beefy Boxes and Bandwidth Generously Provided by pair Networks chromatic writing perl on a camel
XP is just a number
 
PerlMonks  

Re^3: $# -variable?

by reneeb (Chaplain)
on Jul 27, 2006 at 08:59 UTC ( [id://564059]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


in reply to Re^2: $# -variable?
in thread $# -variable?

If someone plays with $[, and you are using a loop as shown above, you have problems with both expressions $#array and scalar(@array).

So, if you want to ensure that your loop does what you want, you have to use this one:

#!/usr/bin/perl use strict; use warnings; $[ = 3; my @array = qw(1 2 3 4); for my $i($[ .. $[ + (scalar(@array) - 1) ){ print $array[$i],"\n"; }


or
#!/usr/bin/perl use strict; use warnings; $[ = 3; my @array = qw(1 2 3 4); for my $i($[ .. $#array ){ print $array[$i],"\n"; }

Replies are listed 'Best First'.
Re^4: $# -variable?
by GrandFather (Saint) on Jul 27, 2006 at 15:36 UTC

    I would hope these days that $[ is virtually never used. I can imagine a few places where it may be tempting to use, but none where there are not much better techniques available.

    $['s biggest problem is the surprise factor. Non-zero based arrays are not the norm in Perl and using them is likely to make the code obscure and hard to maintain and its bigest weakness is that it provides nothing that cant be done better differently.


    DWIM is Perl's answer to Gödel

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://564059]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.