Next | Trivial Utilities | 77 |
The first half is just argument processing
sub do_file { my $file = shift; my $fh; if (ref $file) { $fh = $file; $file = "<stdin>"; } else { return if -d $file; unless (open $fh, "<", $file) { warn "Couldn't open '$file': $!; skipping\n"; return; } }
The function now has a filehandle to work with
The pattern matching is all here:
while (<$fh>) { chomp; if (/$qr/ ^ $opt_v) { $rc = 0; # match printf $format, $file, $_, $.; return if $opt_l; } } }
The /$qr/ ^ $opt_v thing harks back to $REVERSE in sortby
Next | Menu | Copyright © 2012 M. J. Dominus |