#!/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 ); }