use Data::Dumper; my ($x,$y); $y='Foo'; $x=\$y; print Dumper($x); __END__ #Outputs $VAR1=\'Foo'; #### use Data::Dump; my ($x,$y); $x=\$y; $y=\$x; print dump([$x,$y]); #### #Dumper Output with Purity on $VAR1 = [ \\do{my $o}, do{my $o} ]; ${${$VAR1->[0]}} = $VAR1->[0]; $VAR1->[1] = ${$VAR1->[0]}; #Standard BFDump output do { my $RT_ARRAY = [ \do { my $t }, \do { my $t } ]; ${$RT_ARRAY->[0]} = $RT_ARRAY->[1]; ${$RT_ARRAY->[1]} = $RT_ARRAY->[0]; $RT_ARRAY }