srawls has asked for the wisdom of the Perl Monks concerning the following question:
I was working on some obfuscated code, and came across a problem. Well, first what I was trying to do was to do something 12 times (i.e. for(1 .. 12)). I tried this:
And to my surprise it printed 2 through 12. Before I move on, I'll explain what I think should happen. To do this, I'll clean up the formatting a bit:for(++$....$.++.$.) {print "$_\n"}
Now, let's examine those values:for(++$. .. $.++ . $.) #note before I had used ... instead of ..
So, I tried to take it apart and see which individual element was causing the problem, and eventually I came up with this:++$. = 1 $.++ . $. = 12 #the concatenation of 1 and 2.
Now it prints 1 through 11, exactly what I expect. What I think is happening is that the second ++ is effecting the value of $. somehow, before it's supposed to.for(++$....$..$.) #note took out the second ++
This is really baffaling me, so any help is appreciated,
thanks
The 15 year old, freshman programmer,
Stephen Rawls
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: For loop problem
by bikeNomad (Priest) on Jun 03, 2001 at 22:44 UTC | |
by srawls (Friar) on Jun 03, 2001 at 22:56 UTC | |
by japhy (Canon) on Jun 03, 2001 at 23:19 UTC | |
by Arguile (Hermit) on Jun 04, 2001 at 00:26 UTC | |
by chipmunk (Parson) on Jun 04, 2001 at 06:05 UTC | |
| |
Re: For loop problem
by MeowChow (Vicar) on Jun 03, 2001 at 23:45 UTC | |
Re: For loop problem
by srawls (Friar) on Jun 03, 2001 at 22:31 UTC |
Back to
Seekers of Perl Wisdom