sub will_be_a_closure { my %serial_of = @_; return sub { my $x = $serial_of{x}; eval 'use Data::Dumper; print Dumper \%serial_of;'; } } will_be_a_closure(foo=>"bar")->();