sub foo { my ($n) = @_; sub {$n += shift} } #### (defun foo(n) (lambda (i) (incf n i)))