0xbeef has asked for the wisdom of the Perl Monks concerning the following question:
I have written a function that I for example invoke like so:
myfunction($id, { max => 90, cval => 89 });
The Dumper output of the resulting hash ends up something like the following:
$VAR1 = { 'D96C3A4B' => { 'cval' => '90', 'max' => '92' },
However, when I then store and retrieve these values from a little SQL database using selectall_hashref($sql, [ 'id','key']) they become:
'1C8962EB' => { 'cval' => { 'value' => '90', 'id' => '1C8962EB', 'key' => 'cval' }, 'max' => { 'value' => '92', 'id' => '1C8962EB', 'key' => 'max' } }
The table in question is simple, being created something like 'CREATE TABLE evkeypairs (id INT,key TEXT,value TEXT);'
Is it possible to craft or map the select in such a way so as to not insert the literal SQL column names similar to the format I use when calling myfunction()? Else, the many calls I will need to make to myfunction() will become tedious.
I would like (if at all possible) to avoid making any copies of the hash so as to avoid memory overhead.
Niel
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: selectall_hashref structure
by vitoco (Hermit) on Dec 24, 2009 at 15:41 UTC | |
by 0xbeef (Hermit) on Dec 24, 2009 at 16:25 UTC | |
Re: selectall_hashref structure
by bobf (Monsignor) on Dec 24, 2009 at 16:42 UTC | |
Re: selectall_hashref structure
by Anonymous Monk on Dec 24, 2009 at 11:43 UTC | |
by 0xbeef (Hermit) on Dec 24, 2009 at 13:37 UTC |