my $parser = XML::LibXML->new(); open my $in, '<:encoding(UTF-16)', $xmlfile or die $!; my $xmltext = do { local $/; <$in> }; close $in; $xmltext =~ s/encoding="Unicode"//i; my $doc = $parser->parse_string($xmltext) or die "Could not process XML file $xmlfile";