There is a binary utility on most flavors of linux that allows you to compare if a file is exactly the same as another. Here is how you get MD5 info using Perl:
I wrote something similar a few years ago and couldn’t find it. So I googled the docs on Digest::MD5 and found this wonderful example.
You would want to use an MD5 sum for comparing a file after you’ve transmitted it, to ensure it is the same file without errors.
#!/usr/bin/perl
# credit: http://coding.debuntu.org/perl-calculate-md5-sum-file
use warnings;
use strict;
use Digest::MD5;
sub md5sum{
my $file = shift;
my $digest = "";
eval{
open(FILE, $file) or die "Can't find file $file\n";
my $ctx = Digest::MD5->new;
$ctx->addfile(*FILE);
$digest = $ctx->hexdigest;
close(FILE);
};
if($@){
print $@;
return "";
}
return $digest;
}
sub usage{
print "usage: ./md5sum.pl filename\n";
exit 1;
}
if($#ARGV + 1 != 1){
usage();
}
my $fname = $ARGV[0];
my $md5 = md5sum($fname);
if($md5 ne ""){
print $md5." ".$fname."\n";
}else{
exit 1;
}
exit 0;