#!/usr/bin/perl -w use strict; use Digest::MD5 qw(md5 md5_hex md5_base64); use Data::Dumper; $| =1; #turns off output buffering, useful for debugging #all of these are possible # $digest = md5($data); # $digest = md5_hex($data); #make it easy , use this! # $digest = md5_base64($data); my %dirA = get_chksums("."); #### put real dir name here, #### not "."(current directory) print Dumper \%dirA; my %dirB = get_chksums("."); #### put real dir name here print Dumper \%dirB; ##### ### put some comparison stuff here ##### sub get_chksums { my $path = shift; my %file2cksum; opendir (INDIR, $path) || die "unable to open $path"; my @files = grep {-f "$path/$_"} readdir INDIR; close INDIR; foreach my $file (@files) { open (IN, '<', "$path/$file") || die "unable to open $path/$file"; $file2cksum{$file} = md5_hex(); # print "$file $file2cksum{$file}\n"; #for debugging... close IN; } return %file2cksum; }