in reply to I need "Antigrep"

my $pattern = shift(@ARGV); my $re = qr/$pattern/; FILE: foreach my $filename (@ARGV) { open(my $fh, '<', $filename) or do { warn("Unable to open $filename: $!\n"); next; }; while (<$fh>) { next FILE if /$re/; } print("$filename\n"); }

Updated

Replies are listed 'Best First'.
Re^2: I need "Antigrep"
by tphyahoo (Vicar) on Aug 15, 2006 at 18:06 UTC
    Unfortunately doesn't work.
    hartman@ds0207:~/filesContainingArena> find | xargs hartman@ds0207:~/f +ilesContainingArena> find | xargs ./antigrep.pl c . ./a ./b ./c
    Maybe I can use that as a starting point though, so....

    UPDATE: Thanks for the update, Ikegami :)

      Fixed. $fh was going out of scope prematurely when I used

      if (!open(my $fh, '<', $filename)) { warn("Unable to open $filename: $!\n"); next; }

      I'm not sure how xargs works, but I tested it using antigrep.pl c *