> Finally occurred to me to try using ARGV in slurp mode, which does
> indeed do the Right Thing:
> 
>>     #!/usr/bin/perl -l
>>     use strict;
>>     use warnings;
>> 
>>     die usage()  if (@ARGV == 0)
>>                  or (@ARGV == 1 and -t STDIN);
>> 
>>     my $pattern = shift;
>>     local $/;
>> 
>>     while (<>) {
>>         my $pfx = @ARGV ? "$ARGV: " : '';
>>         print $pfx, $1
>>             while =~ /($pattern)/mgi;
>>     }
>> 
>>     sub usage  { "Usage: $0 <PATTERN> [FILES]\n" }
> 
> Pretty neat :-)

Yep, except that the last file that's processed doesn't print the filename.
Almost, though, and that -t STDIN thing is cool, I haven't seen that
before...

- B


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to