sub ScanDir { my($dir) = @_; my ($file); if (substr ($dir,-1) ne "/") { $dir .= "/"; } opendir(DIR, $dir) or die $!; while ($file = readdir(DIR)) { next if ($file =~ m/^\./); $FullName = $dir.$file; if (-d $FullName) { ScanDir($FullName); } else { next unless (-f $FullName); @fdata = stat($FullName); open(FILE, $FullName) or die "Error: Could not open $FullName for MD5 checksum"; binmode(FILE); my $md5sum = $md5->addfile(*FILE)->hexdigest; close FILE; print "$FullName, $fdata[7], $fdata[8], $fdata[9], $md5sum\n" } } closedir(DIR); }