use Data::Dumper; $Data::Dumper::Purity=1; use strict; my $array=[0,1]; $array->[0]=\$array->[1]; $array->[1]=\$array->[0]; print Dumper($array); #### $VAR1 = [ \\do{my $o}, do{my $o} ]; ${${$VAR1->[0]}} = $VAR1->[0]; $VAR1->[1] = ${$VAR1->[0]};