«не правильно сформированная» ошибка при использовании Perl XML :: Simple - PullRequest
2 голосов
/ 22 августа 2011

Я пытаюсь запустить 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

Я использую ActivePerl (v5.14.1), созданный для MSWin32-x86-многопотоковый.Я пытаюсь запустить этот скрипт на Win7.

Ответы [ 2 ]

7 голосов
/ 22 августа 2011

Но когда я запускаю этот код, я получаю сообщение об ошибке: Использование связанного на дескрипторе без * не рекомендуется в C: /Perl/lib/XML/Parser/Expat.pm строка 447.

Звучит как предупреждение, а не как ошибка. У вас устарела установка XML :: Parser:.

неправильно сформирован (неверный токен) в строке 4, столбце 14, байт 128 в строке C: /Perl/lib/XML/Parser.pm 187

Это говорит о том, что ваш XML не работает. Вам нужно исправить XML.

0 голосов
/ 17 мая 2012

Предупреждение на самом деле исходит из устаревшего модуля XML :: Simple:

http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg171611.html

...