使用Perl XML :: Simple时"错误形成"错误

Sco*_*tti 2 xml perl xml-simple

我正在尝试运行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);
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我收到一个错误:

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
Run Code Online (Sandbox Code Playgroud)

我正在使用为MSWin32-x86-multi-thread构建的ActivePerl(v5.14.1).我试图在Win7上运行此脚本.

Que*_*tin 7

但是当我运行这段代码时,我收到一个错误:在C:/Perl/lib/XML/Parser/Expat.pm第447行弃用了没有*的句柄上的绑定.

这听起来像是一个警告,而不是一个错误.您有XML :: Parser:的过时安装.

第4行,第14列,C处的字节128的格式不正确(无效标记):/ Perl/lib/XML/Parser.pm第187行

这表明您的XML已被破坏.您需要更正XML.