Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: selectall_hashref structure

by vitoco (Friar)
on Dec 24, 2009 at 15:41 UTC ( #814250=note: print w/ replies, xml ) Need Help??


in reply to selectall_hashref structure

I'm not sure about what you want to do, but I hope this helps:

#!perl use strict; use warnings; use Data::Dumper; my $id = '1C8962EB'; myfunction($id, { max => 90, cval => 89 }); sub myfunction { my %p = %{$_[1]}; print Dumper(\%p); my %newp = map { $_ => { value => $p{$_}, key => $_, id => $_[0] } + } keys %p; print Dumper(\%newp); } __END__ $VAR1 = { 'max' => 90, 'cval' => 89 }; $VAR1 = { 'cval' => { 'value' => 89, 'id' => '1C8962EB', 'key' => 'cval' }, 'max' => { 'value' => 90, 'id' => '1C8962EB', 'key' => 'max' } };


Comment on Re: selectall_hashref structure
Download Code
Re^2: selectall_hashref structure
by 0xbeef (Hermit) on Dec 24, 2009 at 16:25 UTC
    Thanks it does help, I was just wondering if there was any way to avoid having to use map or another transformation at all.

    To clarify the original objective, it was to have a common hash structure between the function I mentioned and results from selectall_hashref.

    I was trying to find a way to manipulate the selectall_hashref to provide a resulting hash as described that can be used as $$hash{$id}{$key} = $value.

    Your code provides a valid solution albeit through a different approach - "modify the structure passed to the function to look like the result from the selectall hash", and should work just fine unless someone can come up with an even better solution.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2014-10-26 06:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (151 votes), past polls