#!/usr/bin/perl use strict; use warnings; my $dir = shift(); my @images; opendir(DIR, $dir) or die("Couldn't open dir $dir: $!"); foreach my $file_found (readdir(DIR)) { my %image; $image{name} = $file_found; $image{size} = (stat("$dir/$file_found"))[7]; push @images, \%image; } closedir(DIR); my $previous = 'bo mix'; my @duplicates = grep $_ eq $previous && ($_ = %{$_}) && ($_ = $_{size}) && ($previous = $_), @images; print join ', ', @duplicates;