0

xml ファイルを解析する必要があり、perl monks の Web サイトでこのコードを見つけました。コードを理解できず、配列要素のハッシュにアクセスする必要があります。

use Data::Dumper;
use XML::Rules;


my $parser = XML::Rules->new(
    stripspaces => 7,
    rules => {
        substrate => sub { 'substrate' => $_[1]->{id}},
        product => sub { '@products' => $_[1]->{id}},
        reaction => sub {
            my %reactions;
            foreach (split / /, $_[1]->{name}) {
                $reactions{$_} = { substrate => $_[1]->{substrate}, products => $_[1]->{products}};
            }
            return '%reactions' => \%reactions;
        },
        graphics => '',
        entry => sub {
            my @reactions = split ' ', (delete $_[1]->{reaction});
            $_[1]->{reactions} = \@reactions if @reactions;
            return '%entries' => {$_[1]->{id} => $_[1]}
        },
        pathway => 'pass'
    });


    print Dumper ($parser->parsefile('ko00010.xml'));  
4

2 に答える 2