#!/usr/bin/perl -w use strict; use File::Find; my ($string, @files); ($string, @files) = @ARGV; @files = "." unless @files; find sub { unless (-x) { if (open (FILE, "$_")) { while (my $line = ) { print "$_: $line" if $line =~ /$string/i; } close FILE; } else { warn "Can't open $_: $!"; next; } } }, @files;