http://www.perlmonks.org?node_id=113710


in reply to Re: while modifier
in thread while modifier

Another way to look at it would be that $foo_text is being re-declared every iteration. The declaration is scoped within the while loop. Yes, it is a statement modifier, but it's also a looping construct with its own scope. For example:
my $x = 0; do { my $y = $x + 3; print "$x => $y\n"; $x++; } while ($x < 10);
A little explanation - do (essentially) says to treat the following block as a single statement. Thus, you can use statement modifiers like post-whiles and post-foreachs. Now, $y is very obviously scoped within the confines of the while-loop. It's the same concept for while-modifiers.

------
We are the carpenters and bricklayers of the Information Age.

Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.