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/