#!/usr/bin/perl use Digest::SHA1 qw(sha1_hex sha1); sub digest { my $line = shift; my $sha = new Digest::SHA1; open IN, "<", $line or die "\nfailed to open $_ for reading\n"; binmode IN; $sha->addfile(*IN); my $hex = $sha->hexdigest; close IN; return $hex; } while () { chomp; $line = $_; @a = stat($line); if (-f $line) { $hex = digest($line); } else { $hex = '-'; } print "@a $hex $line\n"; }