Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Have you worked to get it?

by tilly (Archbishop)
on Sep 19, 2000 at 20:24 UTC ( #33121=note: print w/ replies, xml ) Need Help??


in reply to RE: RE: RE: RE: RE: RE: Re: Populating a Hash: Can someone help me to understand?
in thread Populating a Hash: Can someone help me to understand?

If you look at something and are confused, try to work out what it is saying. Take some guesses and experiment a few times. But basic concepts (like references) are not something someone can hand you on a platter. They can show you working code examples, but until you "get it" you will not figure out how it works. And if you first response to confusion is to ask another question then you are unlikely to ever learn how it works.

I am sorry if this sounds harsh, it isn't meant to be. Some things just don't come easily.

A reference is just a special kind of value that "points at" another Perl data structure. Nothing more, nothing less. A value of a hash has to be a single value. But that value can tell you where an array is that contains a whole list of arrays. You can now do the same things that you could do with a list of values, but you have to remember to always work with one level of indirection (called dereferencing) to get at the list.

If that doesn't make sense then please do not ask a question about it. Instead go back to the code example you did not understand and look for the dereferencing. If you don't see it then read the explanations given there and other places for how you can create and destroy the reference. Play with it. Experiment with it.

Enlightenment won't all come at once, but develop the habit of first digging into your own mental resources, then asking questions, and you will both learn faster and ask more productive questions.

This is called "learning to learn" and the best way to learn that is go to work right now and figure out this concept for yourself, because nobody can hand you comprehension on a silver platter, it just does not work that way.


Comment on Have you worked to get it?
RE: Have you worked to get it?
by Limo (Scribe) on Sep 19, 2000 at 21:27 UTC
    Absolutely! Spent about 2 hours or so, trying different permutations, throwing in print statements along the way, to see where things fail.
      I think you are treating this as unknown code to try and figure out, rather than as an unknown concept to master. Instead of trying random tinkering and syntax from working code, try a series of exercises. Such as this:
      1. Read Data::Dumper's documentation.
      2. Pass Data::Dumper a reference to an array and see what it gives you.
      3. Take a reference to an array and try to get a specific element from that.
      4. Loop through the elements of an array which you have a reference to.
      5. Repeat with hashes.
      6. Repeat with various combinations of nested arrays and hashes.
      7. Then try to see if you understand and could explain to someone else who understood references the code which puzzled you.
      Please try that.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (18)
As of 2014-09-02 14:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (24 votes), past polls