#!/usr/bin/perl -w use Digest::MD5 qw(md5_hex); use Time::HiRes qw(gettimeofday tv_interval); my $howmany = shift || 100; my $t0; $t0 = [ gettimeofday ]; for (1..$howmany) { system("md5sum", $0) } print STDERR tv_interval($t0), "\n"; $t0 = [ gettimeofday ]; for (1..$howmany) { open(my $SELF, $0) or die $!; local $/ = undef; my $buf = <$SELF>; close $SELF; print md5_hex($buf), "\n"; } print STDERR tv_interval($t0), "\n";