Maurice Lucas wrote:
Hello,

Hello,

I just started using perl and want to rewrite a simple bash script i've been
using in the past to perl.

I want to cat file|grep "foo bar"|wc -l and tried it the following way which
worked for foobar as one word and not as two words.

---
#!/usr/bin/perl
$logfile = "/var/log/logfile";
$grep_cmd = "/bin/grep";
$string = $ARGV[0];
$count = 0;

open(LOG, "cat $logfile|$grep_cmd $string|") || die "Ooops";
while($line = <LOG>) {
            $count++;
}

print "$count\n";
---

calling this program with
./count.pl foobar works and with
./count.pl foo bar doesn't works neither does
./count.pl "foo bar" works

How do I write this the right way?

If I understand your specs correctly then this should work:

#!/usr/bin/perl
use warnings;
use strict;

my $logfile = '/var/log/logfile';
my $regexp  = qr/[EMAIL PROTECTED]/;
my $count   = 0;

open LOG, $logfile or die "Ooops $!";
while ( <LOG> ) {
    /$regexp/ and $count++;
}

print "$count\n";

__END__



John
--
use Perl;
program
fulfillment

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to