http://www.perlmonks.org?node_id=1002830


in reply to Re: How to return two and more values by parsing XML with XML::Rules?
in thread How to return two and more values by parsing XML with XML::Rules?

Or, if you really are against using globals, use the $parser->{pad} to hold your data:

my @rules = ( AM_Key => sub { push @{$_[4]->{pad}{am_keys}}, $_[1]{_content}; retu +rn }, LK_Key => sub { push @{$_[4]->{pad}{lk_keys}}, $_[1]{_content}; retu +rn }, Outpatient_Services => sub { LK_Keys => $_[4]->{pad}{lk_keys}, AM_Ke +ys => $_[4]->{pad}{am_keys}}, _default => undef, ); my $xr = XML::Rules->new( rules => \@rules );

With this $xr->parse() returns a HoA containing the array of the AM_Keys and the array of LK_Keys.

Jenda
Enoch was right!
Enjoy the last years of Rome.