use File::Find; find(\&wanted, '/opt/psoft/hr83tst/appserv/prcs/HRTST/log_output/'); print $_ ; sub wanted { return unless /\.out$/; open F, $_ or return ; while (defined (my $line = )) { if (-M $_ < 0.5) { print $_ if $line =~ /error/ ; system("mail -s' $_' mikev\@beverlycorp.com<$line"); return; } } close F; }