Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: How do I get a list in a perl hash generated from an XML?

by haukex (Bishop)
on Apr 20, 2021 at 05:56 UTC ( #11131501=note: print w/replies, xml ) Need Help??


in reply to How do I get a list in a perl hash generated from an XML?

I very strongly recommend against XML::Simple! A good replacement for reading XML is XML::Rules, its output is much more customizable. Update: If you want func to be an arrayref, just replace 'as is' by 'as array'.

use warnings; use strict; use XML::Rules; use Data::Dump; my $parser = XML::Rules->new( stripspaces => 3|4, rules => [ root=>'pass', config=>'', build=>'', ref=>'by name', func=>'as is', _default => sub { die "Unknown tag $_[0]" } ] ); my $data = $parser->parse(<<'END_XML'); <root> <config> <build host="https://cpzdomain.local"/> </config> <ref name="abc_sia_%version1.ref%"> <func envname = "test01" objectdir = "/home/pv66" base="default_771"/> </ref> </root> END_XML dd $data; __END__ { "abc_sia_%version1.ref%" => { func => { base => "default_771", envname => "test01", objectdir => "/home/pv66" }, }, }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11131501]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (1)
As of 2021-09-20 06:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?