my %seen; # declare this outside the loop # do the following for each $filename if ($seen{$filename}++) { # $filename is a duplicate } else { # never seen this before }