----- Original Message ----- From: "Bryan Harris" <[EMAIL PROTECTED]> To: "Beginners Perl" <[EMAIL PROTECTED]> Sent: Tuesday, June 17, 2003 1:33 AM Subject: Re: while (<>)
> > > #!/usr/bin/perl > > > > my $showme = shift > > or die "Usage: $0 <PATTERN> [FILES]\n"; > > > > while (defined(my $line = <>)) { > > $_ .= $line; > > next unless eof; # [1] > > > > my $prefix = ($ARGV eq '-')? '' : "$ARGV: "; # [2] > > > > print "${prefix}$1\n" while /($showme)/mgi; > > $_ = ''; > > } > > > Pretty neat, Steve, thanks. The only thing that'd be nice to fix is making > it so it gives the usage line if you enter: > > % showme 'ah\d' > > instead of waiting for STDIN. Aside from that it works perfectly. And I > learned a few things in the process. you can do that by simply adding to second line: my $showme = shift,@ARGV == 1 or die "Usage: $0 <PATTERN> [FILES]\n"; This will stop: % showme 'ah\d' % showme 'ah\d' filee1 anything after > Thanks again. > > - Bryan > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]