$ time perl -e '$e = shift;sub inc{$c=shift; $c++;return $c;} $d=0; $d=inc($d) while $d < $e; print $d;' 1e3 1000 real 0m0.073s user 0m0.030s sys 0m0.030s Laurent@Laurent-HP ~ $ time perl -e '$e = shift;sub inc{$c=shift; $c++;return $c;} $d=0; $d=inc($d) while $d < $e; print $d;' 1e4 10000 real 0m0.065s user 0m0.046s sys 0m0.015s Laurent@Laurent-HP ~ $ time perl -e '$e = shift;sub inc{$c=shift; $c++;return $c;} $d=0; $d=inc($d) while $d < $e; print $d;' 1e5 100000 real 0m0.108s user 0m0.046s sys 0m0.046s Laurent@Laurent-HP ~ $ time perl -e '$e = shift;sub inc{$c=shift; $c++;return $c;} $d=0; $d=inc($d) while $d < $e; print $d;' 1e6 1000000 real 0m0.496s user 0m0.451s sys 0m0.030s Laurent@Laurent-HP ~ $ time perl -e '$e = shift;sub inc{$c=shift; $c++;return $c;} $d=0; $d=inc($d) while $d < $e; print $d;' 1e7 10000000 real 0m4.320s user 0m4.274s sys 0m0.030s