5eb0c1c3bc
- Cleanup Makefile header - Fix pkg-descr: - Remove trailing space - Use space after WWW: Changes: http://search.cpan.org/dist/Eval-Closure/Changes
16 lines
965 B
Text
16 lines
965 B
Text
String eval is often used for dynamic code generation. For instance, Moose uses
|
|
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).
|
|
|
|
WWW: http://search.cpan.org/dist/Eval-Closure/
|