Solved

Copying reference data without dereferencing

Posted on 1998-09-11
3
185 Views
Last Modified: 2010-03-05
In a program I am writing, I have a 3D array of hashes implemented through extensive use of references.  One of my procedures makes changes to the underlying data in that structure.  However, I would like to keep a second copy of the original structure in memory in order to restore it if needed.  I could do this with loops by dereferencing every element of the structure but I figure this is expensive in terms of processing time.

Is there a way to simply take a reference to a structure and generate a second reference to a completely separate but identical structure?  I suspect there is not, but if there is, it would be worth 100 points.

Colin
0
Comment
Question by:colind
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 1204826
perldoc -q copy
Found in perlfaq4.pod

How do I print out or copy a recursive data structure?


The Data::Dumper module on CPAN is nice for printing out
data structures, and FreezeThaw for copying them.  For example:

    use FreezeThaw qw(freeze thaw);
    $new = thaw freeze $old;

Where $old can be (a reference to) any kind of data structure you'd like.
It will be deeply copied.
0
 

Author Comment

by:colind
ID: 1204827
Basically, ozo, you're the king.

Why don't you claim your points?

Colind
0
 
LVL 84

Accepted Solution

by:
ozo earned 100 total points
ID: 1204828
If so, maybe the FAQ should deserve the royaltys
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
perl to convert excel to csv 3 341
PHP equivalent of opening a com object 5 101
Using Perl to parse rows 7 108
Perl: How to add backslashes to every period in a string 1 86
I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question