use File::Find; find( \&wanted, '.' ); sub wanted { open my $fh, $_ or die $!; local $/; my $file_contents = <$fh>; if( $file_contents =~ /sub\s+user_method/ ) { print "Matched $_!\n"; } }