#!/usr/bin/perl use strict; use warnings; use File::Find; my @exes; my $startdir = 'C:\test'; find(\&wanted,$startdir); print $_,"\n" for(@exes); sub wanted{ my $file = $File::Find::name; push(@exes,$file) if ($file =~ /\.exe$/); }