http://qs1969.pair.com?node_id=11135854

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

I am using perl 5.10. I am iterating through a for loop. inside that loop I am trying to add an array to a list and then clear the array so I can add different items on the next iteration of the for loop. But when I clear the array, it's clearing the array that I already added to the hash. Here is my code:
      # WRONG!!! This will create a reference (so when we clear it       # a couple lines later everything will be deleted).       # $current_main_record{"role_data"} = \@role_records;         # CORRECT? Recursively copy everything in the entire array,       # so that we can clear it a couple lines down?       # Clear array for next go-round of the loop?.       @role_records = ();
I want $current_main_record(“role_data”) to hold @role_records, an array of hashes. I want to create a new array with the same name, I guess. How do I do that?