use Data::Dumper; open(F, ">uninstall.dat") || die "Opening uninstall file failed: $!\n"; print F Dumper \%hash; close(F);