my %tmp_h; for (keys(%h)) { $tmp_h{$_} = {}; %{$tmp_h{$_}} = %{$h{$_}}; } pl2xml(\%tmp_h, 'h.xml'); %tmp_h = ();