Ajit P Singh wrote:
>
> Could some good samaritan help me out with this pls...
>
> I am trying to find a regular expression for the below string..
>
> ExchangeName = MOLD%20WEST
> ExpectedDate = ZZZZZZZZ
> LineStatus = Z
> Status = NO
> 200 OK -
>
> and i am trying with something as below:
> $line =~ /([a-zA-Z_0-9.]+)\s*=\s*([a-zA-Z_0-9.]+)/;
>
> I am able  to fix the first three lines; but the last line (200 OK - )
> is giving me problems...
>
> I also tried.
>
> $line =~ /([a-zA-Z_0-9.]+)\s*=\-\s*([a-zA-Z_0-9.]+)/;
>
> but it gives me an error as i m trying put the above values in a hash.

Hi Ajit.

I'm not clear what result you want for the last line, but this should help.

Cheers,

Rob



use strict;
use warnings;

while (<DATA>) {
  if (/(.*?)\s*-/) {
    printf "\$1 = %s\n", $1;
  }
  elsif (/([^\s=]+).*?([^\s=]+)/) {
    printf "\$1 = %-14s \$2 = %s\n", $1, $2;
  }
}

__DATA__
ExchangeName = MOLD%20WEST
ExpectedDate = ZZZZZZZZ
LineStatus = Z
Status = NO
200 OK -

**OUTPUT

$1 = ExchangeName   $2 = MOLD%20WEST
$1 = ExpectedDate   $2 = ZZZZZZZZ
$1 = LineStatus     $2 = Z
$1 = Status         $2 = NO
$1 = 200 OK



-- 
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