#! /usr/bin/env perl use strict; use warnings; use Data::Dumper; my %data = ( what => [ 1,2,3 ], ever => [ qw( a b c ) ], ); my $file = "/tmp/filename.txt"; # save %data to file as %name open my $wh, '>', $file or die "open($file,w) failed: $!"; print $wh Data::Dumper->Dump( [ \%data ], [ "*name" ] ); print $wh <Dump( [ \%name ], [ '*name_it' ] );