Ваш XML действителен (это не HTML, не так ли ?!)?Некоторые примеры XML ввода / вывода были бы действительно полезны.
В любом случае, поиграв с XML :: Twig, я могу с уверенностью сказать, что он не удалит пустые строки.Однако вы можете обойти это, написав свою собственную функцию чтения, которая возвращает XML без дополнительных новых строк.
sub readxml {
my ($fh) = @_;
local $/;
my $xml = <$fh>;
$xml =~ s/\n+/\n/g;
return $xml;
}
#
$twig->parse(readxml($filehandle));
Далее, я не думаю, что twig будет довольно печатать контент, который проходит через twig_print_outside_roots.Однако вы можете либо удалить TwigRoots, либо добавить дополнительные обработчики, чтобы получить оставшийся контент (или использовать обработчик _default_) - таким образом он получит симпатичную обработку печати, как и все другие узлы.