#!/usr/bin/perl -l use strict; use warnings; use File::Find::Rule; my $dir = '/tmp'; my @subdirs = File::Find::Rule->in($dir); my $rule = File::Find::Rule->new; $rule->file; $rule->name('*.txt'); my @files = $rule->in(@subdirs); foreach my $file(@files) { print $file; }