use strict; use warnings; our $h={}; warn "init"; $h->{k1}{k2}{k3}=42; warn "call sub"; change(); warn "set"; $h->{k1}{k2}{k3}=666; warn "end"; sub change { eval '$h->{k1}{k2}{k3}=12'; }