explor wrote:
Hi Gurus,

Hello,

I am new to perl and need some help to learn regex in perl. From the
below line i need to extract following:

Part I
1) $ENVFROM = [email protected]
2) $ENVTO1 = [email protected]
3) $ENVTO2 = [email protected]
4) $ENVTO3 = [email protected]


line=EnvFrom: [email protected], HdrTo: <[email protected]>,
EnvTo: [email protected], [email protected], [email protected], Subject:
TEST for perl

$ perl -le'
my $x = q[line=EnvFrom: [email protected], HdrTo: <[email protected]>, EnvTo: [email protected], [email protected], [email protected], Subject: TEST for perl];

my @fields = split /(\w+):\s+/, $x;

my %data;
for ( my $index = 0; $index <= $#fields; ++$index ) {
    if ( $fields[ $index ] =~ /\Aenv(?:from|to)\z/i ) {
push @{ $data{ uc $fields[ $index ] } }, split /\s*,\s*/, $fields[ ++$index ];
        }
    }

use Data::Dumper;
print Dumper \%data;
'
$VAR1 = {
          'ENVFROM' => [
                         '[email protected]'
                       ],
          'ENVTO' => [
                       '[email protected]',
                       '[email protected]',
                       '[email protected]'
                     ]
        };



John
--
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov

--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/


Reply via email to