[Moscow.pm] XML::Simple

Nikolay Mishin mi на ya.ru
Сб Июн 27 14:47:05 PDT 2015


Спасибо, написал тест в Монсовском стиле:

#!/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" <akzhan.abdulin на gmail.com>:
> Атака вида <!ENTITY SYSTEM. дальше нагуглите.
>
> 27 июня 2015 г., 2:42 пользователь Akzhan Abdulin <akzhan.abdulin на gmail.com> написал:
>> вне зависимости он не защищен от атак. Используйте XML::Fast
>>
>> 27 июня 2015 г., 2:03 пользователь Nikolay Mishin <mi на ya.ru> написал:
>>> Привет, 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
>>> moscow-pm на pm.org | http://moscow.pm.org
>
> ,--
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org

-- 
С уважением
Николай Мишин



Подробная информация о списке рассылки Moscow-pm