use Benchmark qw(:all); use File::Slurp; $file_slurp = sub { $file = read_file('arq.pdf', binmode => ':raw') }; $read = sub { open $file, '<', 'arq.pdf' || die $!; read $file, $data, -s 'arq.pdf'; close $file; }; timethese(1000, { file_slurp => $file_slurp, read => $read, }); cmpthese(1000, { file_slurp => $file_slurp, read => $read, });