use Clone "clone"; my $alt = { code => sub{ printf "alt %s\n", shift } }; # my $neu = $alt; my $neu = clone $alt; $alt->{code} = sub { printf "neu %s\n", shift }; $neu->{code}->('Hallo Welt'); # "alt Hallo Welt"