Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Dereferencing a Hash of Hashes of Hashes?

by pKai (Priest)
on Dec 04, 2007 at 21:06 UTC ( #654947=note: print w/replies, xml ) Need Help??

in reply to Dereferencing a Hash of Hashes of Hashes?

perldoc perldsc will give you lots of information how to deal with that kind of structures. It's not that hard.

Update: expanding more directly on you bulleted list:

is it possible to step through the hashref and return the data with some sort of magic/test to see what's there?
For the 1st part see perldsc. For the second part: ref
How can one tell if these keys would be returned in the same order every time from this (or similar) module?
There are modules that implement ordered hashes. But plain vanilla Perl hashes are unordered by design.
Is this type of data structure encountered other times, with other modules?
If this is just a one-off occurrence, perhaps it's not even worth bothering with figuring out how to do this.
This is a weird question in my perception. This kind of structure is the bread and butter of every day perl programming.
  • Comment on Re: Dereferencing a Hash of Hashes of Hashes?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://654947]
[ambrus]: Corion: as for that, I talked with schmorp, and looked a bit more at Prima
[ambrus]: Corion: from the docs, it definitely looks like it would be possible to write an AnyEvent driver for it using Prima::File and Prima::Timer.
[ambrus]: (I haven't found an idle event.)
[ambrus]: However, I also looked at the internals, and found two interesting things:
[marto]: stupid xpath question, I have a xpath copied from the browser, is the * wildcard supposed to work for IDs? e.g. '//*[@id="*"]/ div/div/header/p/a '?
[ambrus]: The main loop for unixish systems is in https://metacpan. org/source/ KARASIK/Prima-1. 49/unix/apc_app.c. It is a hand-rolled select loop, but also always spins at least once every 0.2 seconds for some reason.
[ambrus]: marto: no, not that way. if you just want to test for an existing id attribute, then write *[@id] , or you can match a regexp to the value of that attribute like *[@id=~/something/ ]
[marto]: ambrus, thanks I ended up going with '//*[starts- with(@id, "thread_")]...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2016-12-08 10:50 GMT
Find Nodes?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:

    Results (140 votes). Check out past polls.