Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: Building a data structure - %HoH, %HoA?

by BrowserUk (Pope)
on Nov 01, 2012 at 12:27 UTC ( #1001815=note: print w/replies, xml ) Need Help??

in reply to Building a data structure - %HoH, %HoA?

I believe I need to make a hash of team containing an array of (unique)location containing an array of tools and their number. Or maybe a hash of hashes of hashes? I've been trying just about every permutation I can think of for days.

Pass your required output to an XML parser that uses data structures and see what it produces; and then mimic it:

#! perl -slw use strict; use Data::Dump qw[ pp ]; use XML::Simple; my $xml = XMLin( \*DATA, KeepRoot => 1, NoAttr => 1 ); pp $xml; print XMLout( $xml, KeepRoot => 1, NoAttr => 1 ); __DATA__ <ToolLocations> <ToolLocation> <LocationName>location_4</LocationName> <ToolList> <Tool> <ToolName>tool_2</ToolName> <ToolNum>5</ToolNum> </Tool> <Tool> <ToolName>tool_5</ToolName> <ToolNum>3</ToolNum> </Tool> </ToolList> </ToolLocation> </ToolLocations>


C:\test>1001808 { ToolLocations => { ToolLocation => { LocationName => "location_4", ToolList => { Tool => [ { ToolName => "tool_2", ToolNum => 5 }, { ToolName => "tool_5", ToolNum => 3 }, ], }, }, }, } <ToolLocations> <ToolLocation> <LocationName>location_4</LocationName> <ToolList> <Tool> <ToolName>tool_2</ToolName> <ToolNum>5</ToolNum> </Tool> <Tool> <ToolName>tool_5</ToolName> <ToolNum>3</ToolNum> </Tool> </ToolList> </ToolLocation> </ToolLocations>

That takes your required output as input, converts it to a data structure and then converts it back successfully. So now you know what the data structure needs to look like.

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

RIP Neil Armstrong

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1001815]
[james28909]: nope, i havent written any article about it yet. maybe in the future sometime once i have time for more testing

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (2)
As of 2017-05-01 03:24 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (544 votes). Check out past polls.