use File::Find::Rule; my @files = File::Find::Rule->file() ->or( File::Find::Rule->name( '*.xml' ) ->name( '*.htm' ) ) ->in( "." ); foreach $fname (@files) { print $fname; }