use strict; use warnings; use Benchmark qw/ timethese cmpthese /; my $oBook = { SheetCount => 1000 }; cmpthese(timethese(10000, { 'For_C' => '&For_C', 'For_Set' => '&For_Set', })); sub For_C { my $var; for (my $iSheet=0; $iSheet < $oBook->{SheetCount}; $iSheet++) { $var = $iSheet; } } sub For_Set { my $var; for my $iSheet (0..$oBook->{SheetCount}-1) { $var = $iSheet; } }