#!perl use 5.14.0; use warnings; use Carp; use Data::Dumper; use Digest::MD5; use File::Compare (qw| compare |); use File::Temp qw( tempfile ); use Test::More; my $basic = 'x' x 10**2; my @digests; my $t3 = File::Temp->new( UNLINK => 0); for (1..100) { say $t3 $basic } push @digests, hexdigest_one_file($t3); my $t4 = File::Temp->new( UNLINK => 0); for (1..100) { say $t4 $basic } push @digests, hexdigest_one_file($t4); say Dumper [ @digests ]; cmp_ok($digests[0], 'eq', $digests[1], "Same md5_hex for $t3 and $t4"); is(compare($t3, $t4), 0, "compare() indicates no differences between $t3 and $t4"); done_testing(); sub hexdigest_one_file { my $filename = shift; say "Filename: $filename"; my $state = Digest::MD5->new(); open my $FH, '<', $filename or croak "Unable to open $filename for reading"; $state->addfile($FH); close $FH or croak "Unable to close $filename after reading"; return $state->hexdigest; }