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
In reply to Making a new list of hashes from a hashref by dogen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |