my $pre = Digest::MD5->new;
open (PRE, "$pre_version");
$new->addfile(*PRE);
close(PRE);
my $pre_digest = $pre->hexdigest;
my $new = Digest::MD5->new;
open (NEW, "$new_version");
$co->addfile(*NEW);
close(NEW);
my $new_digest = $co->hexdigest;
if ($pew_digest eq $new_digest) {
Use strict and warnings. You never add any data to either of the Digest::MD5 objects, which means you'd be comparing the MD5 sums of zero bytes to each other, which should always be true, if you were comparing the correct variables.
before pushing to the git repository I want to make sure there are some difference. If the are no difference I need to block the push.
Why? If it's about saving space, it's not necessary, as git should deduplicate data automatically.
Update: Also, please read "open" Best Practices, and either use the open mode '<:raw' or binmode your filehandles, as is mentioned in the Digest::MD5 docs. Also improved formatting of code block.