Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re^3: Shared hash within shared hash of hash???

by BrowserUk (Pope)
on Jan 02, 2013 at 15:53 UTC ( #1011297=note: print w/ replies, xml ) Need Help??

in reply to Re^2: Shared hash within shared hash of hash???
in thread Shared hash within shared hash of hash???

1. Do i need to use lock $hash{foo} ; or lock ( \%hash ) ; if foo is used as shared_clone ?

It depends upon what you intend to modify.

When you have nested hashes so:

%hash :shared = &share( {} );
  1. To add a new key/value pair; or delete a key/value pair; or modify the value associated with an existing key in %hash you need:
    lock %hash; $hash{ existingkey } = newvalue; # or $hash{ newkey } = newvalue; #or delete $hash{ existingkey };
  2. To modify the nested anonymous hash associated with the key 'foo', you need:
    lock %{ $hash{ foo } }; $hash{foo}{somekey} = somevalue; # or delete $hash{ foo }{ somekey };

    Ie. lock %{ $h{1} } says lock the hash referenced by the value at $h{1}.

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.

Comment on Re^3: Shared hash within shared hash of hash???
Select or Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (2)
As of 2015-11-28 11:38 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (741 votes), past polls