我正在尝试运行Perl脚本以将xml文档的所有元素都放入数组中。代码如下:
#!/usr/bin/perl
# Script to illustrate how to parse a simple XML file
# and dump its contents in a Perl hash record.
use strict;
use XML::Simple;
my $xs = new XML::Simple();
my $booklist = $xs->XMLin('./cmn_msg.xml');
print Dumper($data);
当我运行此代码时,出现错误:
Use of tied on a handle without * is deprecated at C:/Perl/lib/XML/Parser/Expat.pm line 447.
not well-formed (invalid token) at line 4, column 14, byte 128 at C:/Perl/lib/XML/Parser.pm line 187
我正在使用为MSWin32-x86-multi-thread构建的ActivePerl(v5.14.1)。 我试图在Win7上运行这个脚本。
答案 0 :(得分:7)
但是当我运行这段代码时,我收到一个错误:在C:/Perl/lib/XML/Parser/Expat.pm第447行弃用了没有*的句柄上的绑定。
这听起来像是警告,而不是错误。您有XML :: Parser的过时安装:。
第4行,第14列,C处的字节128 格式不正确(无效令牌)
这表示您的XML已损坏。您需要更正XML。
答案 1 :(得分:0)
警告实际上来自过时的XML :: Simple模块:
http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg171611.html