Jump to letter: [
3ABCDEFGHIJKLMNOPQRSTUVWXYZ
]
perl-Eval-Closure - Safely and cleanly create closures via string eval
- Description:
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).
Packages
perl-Eval-Closure-0.11-1.fc21.noarch
[26 KiB] |
Changelog
by Paul Howarth (2014-11-12):
- Update to 0.11
- Support lexical subs on 5.18+
- Fix pod links
- Add "alias => 1" option for making closure variables actually alias the
closed over variables (so the variable referenced in the environment
hashref will actually be updated by changes made in the closure)
- Classify buildreqs by usage
- Use %license
- Make %files list more explicit
- Update %description
- Don't need to remove empty directories from the buildroot
|