use strict; use threads; use threads::shared; use warnings; sub lockit($) { my $uber_hashRef = shift ; print "Yey\n" if is_shared( $$uber_hashRef{'%y'} ) ; lock ($$uber_hashRef{'%y'}) ; } sub genSharedLower($) { my $hashRef = shift ; $$hashRef{'%y'} = &share({}) ; } my %all_shary_for_subs : shared ; genSharedLower(\%all_shary_for_subs); print "Yey\n" if is_shared( $all_shary_for_subs{'%y'}); lockit( \%all_shary_for_subs) ;