plist XML文件的Perl模块Mac::PropertyList

plist XML文件的Perl模块Mac::PropertyList,perl,plist,Perl,Plist,我正在使用Mac::PropertyList模块来读取plist兼容的XML文件。函数plist\u as\u perl()以“未删减的perl数据结构”返回plist/XML文件内容。这就是我被困的地方,因为我不知道如何访问其中包含的数据 这是节目单 use Mac::PropertyList; print "\nbefore parsing the plist ..."; my $data = Mac::PropertyList::parse_plist_file("abc.xml");

我正在使用
Mac::PropertyList
模块来读取plist兼容的
XML
文件。函数
plist\u as\u perl()
以“
未删减的perl数据结构”
返回
plist/XML
文件内容。这就是我被困的地方,因为我不知道如何访问其中包含的数据

这是节目单

use Mac::PropertyList;

print "\nbefore parsing the plist ...";
my $data  = Mac::PropertyList::parse_plist_file("abc.xml");

my $pvar = Mac::PropertyList::plist_as_perl($data);
现在如何使用pvar


谢谢

如果您想查看结构内部的内容,可以使用:


如果要查看结构内部的内容,可以使用:


尝试使用Data::Dumper或YAML或JSON或Data::Dump或Data::Dump::Streamer或任何其他。。。转储数据并转储变量。或者使用调试器


更新:我发现如果像这样创建pvar,效果很好:
my$pvar=$data->as_perl然后您可以将其转储。。不要问我为什么--(

尝试使用Data::Dumper或YAML或JSON或Data::Dump或Data::Dump::Streamer或任何其他模块…转储数据并转储变量。或使用调试器


更新:我发现如果像这样创建pvar,效果很好:
my$pvar=$data->as_perl;
,那么您可以转储它。.不要问我为什么;-(

$VAR1='$VAR=ARRAY(0x828f5a0)'它似乎不是一个数据结构。它是一个字符串。好的,可能是,它已经读取了整个XML文件。如何打印此字符串?$VAR1='$VAR=ARRAY(0x828f5a0)'它似乎不是一个数据结构。它是一个字符串。好的,可能是,它已经读取了整个XML文件。如何打印此字符串?感谢您的回答。我使用data::Dumper打印pvar,输出为$VAR1='$VAR=ARRAY(0x828f5a0),但我如何才能获得pvar中包含的真正有用的数据?我不知道,我从来没有问过任何问题!别担心,这没什么大不了的。嗯,plist_as_perl的文档记录不正确。它应该返回一个perl代码字符串,如data::Dumper。@briandfoy我想你可能会插嘴。你确定它不是plist_as_perl中的错误吗?我知道ta在那里更有用实际上,为了在没有任何对象膨胀的情况下获得数据结构,它是一个错误,因为它没有做我希望它做的事情,而且它很混乱。谢谢你的回答。我使用data::Dumper打印pvar,输出为$VAR1='$VAR=ARRAY(0x828f5a0),但我如何才能获得pvar中包含的真正有用的数据?我不知道,我从来没有问过任何问题!别担心,这没什么大不了的。嗯,plist_as_perl的文档记录不正确。它应该返回一个perl代码字符串,如data::Dumper。@briandfoy我想你可能会插嘴。你确定它不是plist_as_perl中的错误吗?我知道ta实际上更有用,要在没有任何对象的情况下获得数据结构,这是一个错误,因为它没有做我希望它做的事情,而且很混乱。创建$pvar as
$pvar=$data->as_perl;
(见下文)创建$pvar as
$pvar=$data->as_perl;
(见下文)
use Data::Dumper;
print Dumper $pvar;