use warnings; use strict; use File::Find; my $search_string = "ORA"; find( \&grep, "." ); sub grep { my $file = $File::Find::name; if ( -f $file && -r _ ) { open( my $fh, "<", $file ) or return; while ( my $rec = <$fh> ) { print "Found $search_string in $file" if $rec =~ /$search_string/; } } } #### find . -type f | xargs grep -l ORA