#!/usr/bin/perl use strict; use warnings; opendir( DH1, 'test' ) or die "test:$!"; foreach ( sort { $a <=> $b } grep { -d "test/$_" and $_ =~ /^\d+/ } readdir( DH1 ) ) { next unless /0201/ .. /0529/; my $dir = "test/$_"; opendir( DH2, $dir ) or die "$dir:$!"; foreach my $file ( grep { -f "$dir/$_" } readdir( DH2 ) ) { print "Dir: $dir\tFile: $file\t\t$dir/$file\n"; } # foreach closedir( DH2 ); } # foreach closedir( DH1 );