use warnings; use strict; use Data::Dumper; use JSON; my %data; for (0..10){ $data{$_} = $_ * 5; } my $json = encode_json \%data; open my $wfh, '>', 'saved.json' or die "can't open the damned file for writing!: $!"; print $wfh $json; close $wfh; open my $fh, '<', 'saved.json' or die "can't open the damned file for reading!: $!"; my $perl_href; { local $/; $perl_href = decode_json $json } print Dumper $perl_href; #### $VAR1 = { '2' => 10, '3' => 15, '0' => 0, '8' => 40, '5' => 25, '1' => 5, '4' => 20, '10' => 50, '9' => 45, '6' => 30, '7' => 35 };