use Benchmark qw(timethese cmpthese) ; $results=timethese(1000, { rpush => sub { &m11 } , rall => sub { &m22 } , }); cmpthese( $results ) ; sub m11 { my @ll ; open (DATL,"< data.txt") ;while ( my $l= ) {push ( @ll , $l ) ;}close(DATL) ; } sub m22 { open (DATL,"< data.txt") ;my @ll = ;close(DATL) ; }