Safely and cleanly create closures via string eval
http://search.cpan.org/dist/Eval-ClosureString 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).
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Leap:15.0/perl-Eval-Closure && cd $_
Source Files
Filename | Size | Changed |
---|---|---|
Eval-Closure-0.14.tar.gz | 0000020128 19.7 KB | about 6 years |
cpanspec.yml | 0000000547 547 Bytes | about 7 years |
perl-Eval-Closure.changes | 0000003616 3.53 KB | about 6 years |
perl-Eval-Closure.spec | 0000002508 2.45 KB | about 6 years |
Comments 0