Eu escrevi um programa usando XML::LibXML do perl
Ele cria um XML::LibXML usando load_xml().
Fiquei surpreso ao ver que não precisa de uma chamada para new().
Quando é necessária uma chamada para new()?
Aqui está o código que surpreendentemente (para mim) funciona:
#!/usr/bin/env perl
use 5.020;
use warnings;
use XML::LibXML;
#the input xml
my $inputstr = <<XML;
<a>
<b class="type1">some type 1 data</b>
<b class="type2">some type 2 data</b>
<b class="type3">some type 3 data</b>
<b class="type4">some type 4 data</b>
<b notaclass="type1">don't change this</b>
<c class="type1">don't change this either</c>
</a>
XML
my $dom = XML::LibXML->load_xml(
string => $inputstr
);
say $dom->toString();