use Data::Dumper; my %hash = ( 'dataParams', { 'license_feature' => { 'val' => 'geditor' } } ); open DATA, ">whatever.dat"; print DATA Dumper(%hash); close DATA; print "bare hash dump\n", Dumper(do "whatever.dat"); open DATA, ">whatever.dat"; print DATA Dumper(\%hash); close DATA; print "reference dump\n", Dumper(do "whatever.dat"); __output__ bare hash dump $VAR1 = { 'license_feature' => { 'val' => 'geditor' } }; reference dump $VAR1 = { 'dataParams' => { 'license_feature' => { 'val' => 'geditor' } } };