#!/usr/bin/perl use strict; use warnings; use Digest::SHA; use File::Find; STDOUT->autoflush(1); find({ wanted => sub { my $name = $File::Find::name; $name =~ s{^\./}{}; $name =~ m{^\d} or return; $name =~ m{\.jpe?g$}i or return; -f $name or return; print "$name\t"; my $sha = Digest::SHA->new(1); $sha->addfile($name) or die "Cannot hash $name\n"; my $id = substr($sha->hexdigest, 0, 16); print "$id\n"; }, no_chdir => 1, }, ".");