use strict;
use warnings;
use Data::Dump::Streamer;
my %foo = (a => 'b', c => 'd');
my @stack;
my %newFoo = (x => 'b', y => 'd');
push @stack, {%foo};
%foo = %newFoo;
print "Using \%newFoo\n";
Dump (\%foo);
# do stuff with temporary foo
%foo = %{pop @stack};
print "restored original \%foo\n";
Dump (\%foo);
Prints:
Using %newFoo
$HASH1 = {
x => 'b',
y => 'd'
};
restored original %foo
$HASH1 = {
a => 'b',
c => 'd'
};
DWIM is Perl's answer to Gödel
|