perl -w -MData::Dumper -d \ -e '$Data::Dumper::Purity=1;' \ -e '$a={ type => "int" }; $b = \$a->{type};' \ -e '$c= [$b,$a];' \ -e '$d=$d= eval Dumper($c);' DB<1> c Use of uninitialized value in scalar dereference at (eval 3)[-e:4] line 4. Debugged program terminated. ... DB<1> x $d 0 ARRAY(0x8306864) 0 SCALAR(0x83068c4) -> 'int' 1 HASH(0x83068a0) 'type' => undef <<<<<<<<<<<<<<<< hey? DB<2> x $c 0 ARRAY(0x82f3fac) 0 SCALAR(0x80f621c) -> 'int' 1 HASH(0x8306af8) 'type' => 'int'