我輸入XML文件是:爲什麼我用Perl XML :: Simple獲得這個「不是數組引用」?
<?xml version='1.0'?>
<warnings>
<IDA>
<file>filea</file>
<path>patha</path>
</IDA>
<IDA>
<file>fileaa</file>
<path>pathaa</path>
</IDA>
<IDB>
<file>fileb</file>
<path>pathb</path>
</IDB>
</warnings>
我讀這個文件是這樣的:
my @IDs = ("IDA", "IDB");
my $data = $xml->XMLin("xmlfile.xml");
foreach (@IDs)
{
foreach $id (@{$data->{$_}})
{
print $id->{path}."\n";
}
}
,當我運行該腳本它給了我這個錯誤:
Not an ARRAY reference at ./waiver.pl line 18.
(第18行是第二個foreach循環)
編輯 我重複了IDA標記。
您是否嘗試過perl -d模式? 'n'到第18行,然後'x'的東西像'$ _','$ data - > {$ _}'等等。 – aschepler
抱歉,我沒有得到它?你能解釋一下嗎? – infinitloop
他意味着使用Perl調試器與-d選項 – m0skit0