Jay Savage schreef: > Dr.Ruud: >> Jay Savage: >>> for (0..#$arrayname) { print $array[$_] } >> >> The "#$" should be "$#" and you have two different array names there >> that I assume you meant equal. > > Not enough coffee this morning, I guess, but the point was to > illustrate, not give working code. I think OP got it. > >> Alternative 1: >> >> print $ary[$_] for $[ .. $#ary; > > I suppose it's an alternative, but why replace a constant with a > variable if you don't have to? The only reason to do that would be if > you messed with $[. Don't do that. Ever. Ever ever. At least not in > any situation that's likely to get discussed on a beginners' list.
Why gamble that "0" is a valid index, or even the minimal index, if there is "$["? Of course "the others" should use a local "$[" if they change it from the default 0 to some other value, but you just can't be sure that it will never bite you. Unless you use "$[" with "$#ary", because "$#ary" depends on "$[" like this: ($#ary -$[ +1) == scalar(@ary). >> Alternative 2: >> >> print for @ary; > > That's not really an alternative It was a rewrite of your for (0..#$arrayname) { print $array[$_] } which is at least a bad example of the usage of $#arrayname, because it doesn't do anything useful with the index. Would you have written something like for ( $[ .. $#arrayname ) { print $_, $array[$_], "\n" } then you would have used the index for something else than what is better written with a "foreach" type loop. So it was not an alternative, it was a correction. -- Affijn, Ruud "Gewoon is een tijger." -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>