use strict;
use warnings;
use XML::LibXML qw( XML_TEXT_NODE );
my $html = '<div><label>Emp ID:</label> AASDFG <br><label>Mobile Num:<
+/label> 9999999999 <br><label>location:</label> India <br><label>Inse
+rvice:</label>Yes </div>';
my $doc = XML::LibXML->new->parse_html_string($html);
my %pairs;
for my $label_node ( $doc->findnodes('/html/body/div/label') ) {
my $label = $label_node->textContent();
$label =~ s/:\z//;
$pairs{$label} = '';
my $node = $label_node;
while ($node = $node->nextSibling() &&
$node->nodeType() == XML_TEXT_NODE) {
$pairs{$label} .= $node->getValue();
}
s/^\s+//, s/\s+\z// for $pairs{$label};
}
# Now do whatever with the data
for my $k (keys(%pairs)) {
printf("%-12s %s\n", $k, $pairs{$k});
}
Inservice Yes
location India
Emp ID AASDFG
Mobile Num 9999999999
|