sub create_f { my $func = shift; return sub { my $var = "xpto"; &$func; } } my $function = create_f( sub { print ">> $var <<\n" } );