in reply to Re: Split/Match Question
in thread Split/Match Question
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
|
|---|