Спасибо, написал тест в Монсовском стиле:
#!/use/bin/perl -w
#
use strict;
use warnings;
use Test::More;
BEGIN {
my $add = 0;
eval { require Test::NoWarnings; Test::NoWarnings->import; ++$add; 1 }
or diag "Test::NoWarnings missed, skipping no warnings test";
plan tests => 3 + $add;
eval { require Data::Dumper; Data::Dumper::Dumper(1) } and *dd = sub ($) {
Data::Dumper->new( [ $_[0] ] )->Indent(0)->Terse(1)->Quotekeys(0)
->Useqq(1)->Purity(1)->Dump;
}
or *dd = \&explain;
}
use XML::Fast 'xml2hash';
my $xml_file = shift or die "use: $0 files.xml requied!";
diag "testing file $xml_file";
my $xml = do { local $/; open my $f,'<',$xml_file; <$f> };
my $hash = xml2hash $xml;
diag dd($hash), "\n"
https://github.com/mishin/presentation/blob/master/xml/01_xml_parse.pl
отлично работает, спасибо
27.06.2015, 02:44, "Akzhan Abdulin" <[email protected]>:
> Атака вида <!ENTITY SYSTEM. дальше нагуглите.
>
> 27 июня 2015 г., 2:42 пользователь Akzhan Abdulin <[email protected]>
> написал:
>> вне зависимости он не защищен от атак. Используйте XML::Fast
>>
>> 27 июня 2015 г., 2:03 пользователь Nikolay Mishin <[email protected]> написал:
>>> Привет, MoscowPM,
>>>
>>> Зачем использовать use XML::Simple с опцией qw(:strict);
>>>
>>> use XML::Simple qw(:strict);
>>>
>>> я всегда использую
>>>
>>> use XML::Simple;
>>>
>>> my $ref = XMLin($xml_file, ForceArray => 1);
>>>
>>> насколько это может быть опасно?
>>>
>>> --
>>> С уважением
>>> Николай Мишин
>>>
>>> --
>>> Moscow.pm mailing list
>>> [email protected] | http://moscow.pm.org
>
> ,--
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
--
С уважением
Николай Мишин
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org