XYZ CMPNY775340Carol & Jerry #### use strict; use XML::Parser; my $parser = new XML::Parser(ErrorContext => 2); my $xmlStr = " XYZ CMPNY 775340 Carol & Jerry "; my $writeDataFlag = 0; $parser->setHandlers( Start => \&start_handler, Char => \&char_handler, End => \&end_handler); $parser->parse($xmlStr); sub char_handler { my ($p, $data) = @_; if($writeDataFlag ==1 ){ print "Data - [$data] \n"; } } sub start_handler { my ($p, $data) = @_; if($data =~ /^(Company_Name|First_Name)$/) { $writeDataFlag = 1; } } sub end_handler { my ($p, $data) = @_; $writeDataFlag = 0; } 1; #### Company_Name ---> [XYZ CMPNY] First_Name ---> [Carol ] [&] [ Jerry] #### Company_Name ---> [XYZ CMPNY] First_Name ---> [Carol & Jerry]