sub inject { my ( $outer, $inner ) = @_; return sub { $inner->(@_); goto &$outer; } }