Hello Jonathan
It's because the regex /^.*\@/g finds the _last_ @ in the record, which
isn't followed by 'domain'. The .* will consume as many characters as it can
as long as the rest of the regex is satisfied.
If you were to do it like this, you'd use /^.*?\@/g because .*? matches as
few characters as possible. But it will work fine as
if (/@/g) { .. }
HTH,
Rob
----- Original Message -----
From: "Jonathan Daniels" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, December 07, 2002 12:32 AM
Subject: This perl script does nothing....
> Hi,
>
> Hopefully this isn't too stupid of a question. Thanks in advance for any
> help.
>
> Can anyone tell me why, when I feed a file of the following format
>
>
Date,Time,Action,Result,Client,Server,From,To,To,To,...,Subject,Size,SMTPID
>
> 20021128,9,Message Accepted,,10.0.0.1,,[EMAIL PROTECTED],[EMAIL PROTECTED],...
>
> This type of line many more times....
>
> To the following script it does nothing. Nothing at all. No errors, just
> returns to the command prompt.
>
>
> #!/usr/bin/perl
>
> while (<>){
>
> chomp;
>
> if (/^.*\@/g){ # find the first @ remember where it is.
>
> if (/\G(domain)/i){ #go back and look for domain
>
> print ; #if you find domain print the line.
> }
>
> }
>
> else{
>
> print "No Match.\n";
>
>
> }
>
> }
>
>
>
> Thanks,
>
> Jonathan
>
>
>
> --
> 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]