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
In reply to Re^2: Split/Match Question
by ikegami
in thread Split/Match Question
by esmadmin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |