This is perl, v5.8.6 built for darwin-thread-multi-2level @OSX 10.4.11, G4 500MHz メモリ1G
一行50文字の2万行のデータ hoge.txt にて % cat hoge.pl use Benchmark ; sub __handle{ open IN, q{hoge.txt} ; push @arr, <IN> ; close IN ; } sub __array { open IN, q{hoge.txt} ; while( <IN> ){ push @arr, $_ ; } close IN ; } sub __join { open IN, q{hoge.txt} ; $dat = join '', <IN> ; close IN ; } timethese ( 50, { op1 => '__handle', op2 => '__array', op3 => '__join' } ) ;