use strict; use Data::Dumper; sub get_ifc_name { my %hash=@_; print Dumper \%hash; } sub setdefaults { my ($func,@defs)=@_; return sub { $func->(@defs,@_) } } my $f2= setdefaults( \&get_ifc_name, one =>1); $f2->(two =>2); #### $VAR1 = { 'one' => 1, 'two' => 2 };