use File::Find::Rule; my @dirs = find( 'dir', 'name', qr/^d\d/i, 'maxdepth', 1, 'in', $path ); my @files = find( 'file', 'name', qr/^d\d/i, 'maxdepth', 1, 'in', \@dirs );