dogen has asked for the wisdom of the Perl Monks concerning the following question:
I'm having a time using a hash reference and wanting
to use the reference to create a new list of hashes to do my dirty work - in essence making a copy of the references for the new
list of hashes to use.
What I want to do is -depending on the # of members- create a list of hashes (in example @names) that does not reference the original $ref's references but makes a copy for its own use. I'm a little confused on how to copy the contents of the reference instead of directly dealing with the reference itself. In the above example the number of members can vary so I want to give each one its own hash in a new list. But what happens is that instead of getting what I want:while (my $ref = $sth->fetchrow_hashref()) { if ($ref->{multiple}) { foreach my $i (1 .. $number_of_members) { my $new_name = "member" . $i . "_" . $ref->{name}; $ref->{name} = $new_name; $ref->{label} = "Member # $i" . " " . $ref->{label}; push @names, $ref; } } else { push @apps, $ref; } } push @names, @apps;
I get:member1_first_name ($ref->{name}) Member #1 First Name ($ref->{label}) member2_last_name Member #2 Last Name ...up to # of members
Any suggestions?member2_member1_first_name Member #2 Member #1 First Name member2_member1_first_name Member #2 Member #1 First Name member2_member1_last_name Member #2 Member #1 Last Name member2_member1_last_name Member #2 Member #1 Last Name
update (broquaint): added <code> tags
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Making a new list of hashes from a hashref
by diotalevi (Canon) on Oct 09, 2003 at 17:45 UTC | |
by BrowserUk (Patriarch) on Oct 09, 2003 at 19:07 UTC | |
by diotalevi (Canon) on Oct 09, 2003 at 19:17 UTC | |
by BrowserUk (Patriarch) on Oct 09, 2003 at 19:27 UTC | |
by simonm (Vicar) on Oct 10, 2003 at 14:56 UTC | |
by BrowserUk (Patriarch) on Oct 10, 2003 at 22:54 UTC | |
by dogen (Acolyte) on Oct 09, 2003 at 18:11 UTC |