$dirs{$File::Find::name} = 1; #### #!/usr/bin/perl # dirdupes use strict; use warnings; use File::Find; #*****************Path Variables********************** our $testpath = 'E:\scratch~~\Lin\App\KuraCloud'; #******************************************************* my %dirs; find(\&dir_names, $testpath); my @dup_dirs = grep {$dirs{$_} > 1} sort keys %dirs; foreach my $name (@dup_dirs) { next if @{$dirs{$name}} == 1; print "$name:\n"; print " $_\n" for @{$dirs{$name}}; } sub dir_names { return if ! -d || ! /[IPD]\d{8}$/; push @{$dirs{$_}}, $File::Find::name; }