use File::Find; my $ct = 0; sub subrout { if( $_ =~ /\.pl$/) { while( $line = ) { for $i ($line =~ /data)/gi ) { print "$i\n"; $ct++; } } close F; } } find( \&subrout, "/pathOne" ); print "\n$ct\n";