#!/usr/bin/env perl use strict; use warnings; use autodie; use threads; use threads::shared; use Storable; my $storable_file = './pm_1078249_stored_hash'; { my $hoh_to_store = { A => { B => 2, C => 3 }, D => { E => 5, F => 6 } }; store $hoh_to_store => $storable_file; } my @threads; my %hohoh :shared; for (1 .. 3) { push @threads, threads->create(sub { $hohoh{threads->tid} = shared_clone(retrieve $storable_file); }); } $_->join for @threads; # Test result use Data::Dumper; print Dumper \%hohoh; # My housekeeping unlink $storable_file; #### $VAR1 = { '1' => { 'D' => { 'E' => 5, 'F' => 6 }, 'A' => { 'B' => 2, 'C' => 3 } }, '2' => { 'D' => { 'E' => 5, 'F' => 6 }, 'A' => { 'B' => 2, 'C' => 3 } }, '3' => { 'A' => { 'B' => 2, 'C' => 3 }, 'D' => { 'E' => 5, 'F' => 6 } } };