my @nholes = (); for ($obj->{'board'}->getHoles()) { my %newHole = %$_; push ( @nholes, \%newHole ); } $nholes[$jumpy->getIndex()]->{'peg'} = 'white'; $nholes[$jumper->getIndex()]->{'peg'} = 'white'; $nholes[$rc]->{'peg'} = 'black'; my $newBoard = new board( \@nholes, $nextLevel );