Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Complex Data Structures

by thelenm (Vicar)
on Jun 18, 2002 at 17:00 UTC ( #175425=note: print w/replies, xml ) Need Help??

in reply to Complex Data Structures

When my data structures start getting too complex, I usually see if there's a way I can pull some of the data manipulation (and even the data itself) into a module. Many times I've come back to a program after a few months and said, "Well, it looks like a hash of arrays of hashes of hashes, but what the heck does that mean?" I find it helpful to use functions or object methods to manipulate those data so that I can say something like
$purchase_table->add_purchase($customer, $basket, $purchase_id, $value +);
instead of
$purchases->{$customer}->[$basket]->{$purchase_id} = $value;
That way, I not only understand exactly what's going on, but I'm also less likely to screw myself up by manipulating the large structure differently in different places in the code. And I can change the actual implementation without changing the function/method calls.

And as jeffa mentioned, Data::Dumper is a lifesaver. :-)

-- Mike


Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2023-12-07 12:28 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (32 votes). Check out past polls.