mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-11 07:22:22 +00:00
28c81e2850
it heavily, to generate inlined versions of accessors and constructors, which speeds code up at runtime by a significant amount. String eval is not without its issues however - it's difficult to control the scope it's used in (which determines which variables are in scope inside the eval), and it can be quite slow, especially if doing a large number of evals. This module attempts to solve both of those problems. It provides an eval_closure function, which evals a string in a clean environment, other than a fixed list of specified variables. It also caches the result of the eval, so that doing repeated evals of the same source, even with a different environment, will be much faster (but note that the description is part of the string to be evaled, so it must also be the same (or non-existent) if caching is to work properly).
6 lines
219 B
Plaintext
6 lines
219 B
Plaintext
%%SITE_PERL%%/Eval/Closure.pm
|
|
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Eval/Closure/.packlist
|
|
@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Eval/Closure
|
|
@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Eval
|
|
@dirrmtry %%SITE_PERL%%/Eval
|