use Path::Tiny qw/ path /; my @files = path( $dirpath )->realpath->children(); for my $file( @files ){ my $fh = path( $file )->openr_raw; while( <$fh> ){ ... } }