in reply to Scoping of my with foreach loop

Also, the first version tends to be faster, because the second one has to declare a new variable for each element of @array (unless this has been optimized by now).

Benchmark it with a big array.

Replies are listed 'Best First'.
Re^2: Scoping of my with foreach loop
by holli (Abbot) on Mar 07, 2005 at 20:34 UTC
    use Benchmark; my @array = (1..999999); timethis (200, sub { my $foo; for $foo ( @array ) { 1; } }); timethis (200, sub { for my $foo ( @array ) { 1; } }); #timethis 200: 33 wallclock secs (31.58 usr + 0.02 sys = 31.60 CPU) @ + 6.33/s (n=200) #timethis 200: 32 wallclock secs (31.65 usr + 0.04 sys = 31.69 CPU) @ + 6.31/s (n=200)
    seems to be optimized (perl 5.8.6)


    holli, /regexed monk/