http://www.perlmonks.org?node_id=84341

diarmuid has asked for the wisdom of the Perl Monks concerning the following question:

Hi,

Again I am mystified by references and hashes. I am trying to pass a hash to a subroutine where upon I generate a new hash containing a copy of the original hash and some new dublicate information. (phew ... check out the code it's easier :-)

my (%clocks); # snip # clock is built up like this : $clocks{$pin_name}{'period'} = 12; $clocks{$pin_name}{'size'} = 63 # etc..... # # What I want to do is create a new hash with same info # and with a copy of the information eg # $new_clock{'test'}... copy into $new_clock{'test_probe'} # # Here's my attempt at that subroutine sub duplicate_probe_signals { my ($pin_hashref) = shift; my %new_hash; foreach my $pin ( keys %{$pin_hashref}){ # exclude some pins next if grep(/$pin/,@no_probe_pins); $new_hash{$pin} = $pin_hashref{$pin}; my $pin_probe = $pin."_probe"; $new_hash{$pin_probe} = $pin_hashref->$pin; } return %new_hash; }
This is wrong but can anyone point me in the right direction

Diarmuid