>perl -wMstrict -le
"my $line =
'xxx:agent_id=>foo,yyy:agent_id=>b\"a\"r,zzz:agent_id=>\"baz\",qqq'
+;
print qq{'$line'};
;;
my @agents;
while ($line =~ m{ :agent_id=> (.+?) , }xmsg) {
my $agent_id = $1;
printf qq{extracted agent id: '$agent_id' };
$agent_id =~ s/\"//g;
print qq{fixed agent id: '$agent_id'};
push @agents, $agent_id;
}
printf qq{'$_' } for @agents;
"
'xxx:agent_id=>foo,yyy:agent_id=>b"a"r,zzz:agent_id=>"baz",qqq'
extracted agent id: 'foo' fixed agent id: 'foo'
extracted agent id: 'b"a"r' fixed agent id: 'bar'
extracted agent id: '"baz"' fixed agent id: 'baz'
'foo' 'bar' 'baz'
In addition to perlrequick, see also perlre (the guts and the glory) and perlretut (a good tutorial, highly recommended).
|