#!/usr/bin/perl -- use strict; use warnings; use Data::Dump qw/ dd /; use Path::Tiny qw/ path cwd /; use File::Find::Rule qw/ find rule /; my @names = find( directory => maxdepth => 1, in => $top.$second ); my @files = find( file => name => qr/\.txt$/i, in => \@names ); for my $fp ( @files ){ my $name = path( $fp )->basename; dd( $fp, $name ); } #### #!/usr/bin/perl -- use strict; use warnings; use Data::Dump qw/ dd /; use File::Find::Rule qw/ find rule /; my $startdir = 'file-find-rule-mindepth-maxdepth'; my @files = find( file => name => qr/\.txt$/i, mindepth => 2, maxdepth => 2, in => $startdir, ); dd( \@files ); __END__ $ findrule file-find-rule-mindepth-maxdepth file-find-rule-mindepth-maxdepth file-find-rule-mindepth-maxdepth/6.txt file-find-rule-mindepth-maxdepth/a file-find-rule-mindepth-maxdepth/q file-find-rule-mindepth-maxdepth/q/6.txt file-find-rule-mindepth-maxdepth/q/r file-find-rule-mindepth-maxdepth/q/r/5.txt file-find-rule-mindepth-maxdepth/q/s file-find-rule-mindepth-maxdepth/q/s/7.txt file-find-rule-mindepth-maxdepth/x $ perl file-find-rule-pimperator.pl ["file-find-rule-mindepth-maxdepth/q/6.txt"]