It's not re-allocating memory each time through the
loop. You can test that by doing this:
my $count = 1;
while (my $x = $count) {
print \$x, "\n";
last if ++$count > 5;
}
If you run that, you should get something like:
SCALAR(0x80e4aa8)
SCALAR(0x80e4aa8)
SCALAR(0x80e4aa8)
SCALAR(0x80e4aa8)
SCALAR(0x80e4aa8)
Each time through the loop $x is at the same memory
location. So it's not re-allocating memory.
As tilly mentions in his post, Perl does have to do
*some* extra things--but re-allocating memory isn't
one of them. :)