#!/usr/bin/perl -w use strict; use warnings; use Data::Dumper; my %test = ( foo => 'bar', ); my %code = ( code => sub { my ($ref) = @_; $test{foo} = $ref; }, ); print Dumper(\%test)."\n"; $code{code}->('bar2'); print Dumper(\%test)."\n";