我正在尝试在Perl中打印一些基本日志,但我遇到了一个非常简单的问题:我无法打印XML标签的内容。
my $twig=XML::Twig->new(pretty_print => "nice");
$twig->parse($xml);
my $root = $twig->root;
my @desc=$root->descendants_or_self('node');
my $nrofdesc=@desc;
my $sentence = $root->descendants('sentence')->print;
my $sentenceid = $root->{att}->{id};
if ($nrofdesc > $maxdescendants) {
print "$sentence\t$nrofdesc\t$sentenceid\n";
}
我尝试运行上述代码,但收到错误消息:
在file.pl文件的第35行(第15行)出现“无法在包或对象引用中调用print方法”的错误。
该错误是由以下代码引起的:
my $sentence = $root->descendants('sentence')->print;
我也尝试了常见的text
,但是我遇到了相同的错误。我错过了什么?
descendants
会给你一个列表,而不是一个对象。可能需要遍历该列表并打印每个“twig”。 - LaintalAy