- Name: perl-Eval-Closure
- Version: 0.40.0
- Release: 5
- Epoch:
- Group: Development/Perl
- License: GPL+ or Artistic
- Url: http://search.cpan.org/~doy/Eval-Closure-0.04/lib/Eval/Closure.pm
- Summary: Safely and cleanly create closures via string eval
- Architecture: noarch
- Size: 31381
- Distribution: Mandriva Linux
- Vendor: Mandriva
- Packager: Oden Eriksson <oeriksson@mandriva.com>
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).
- OptFlags: -O2 -Wa,--compress-debug-sections -gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -mtune=generic -march=i586 -fasynchronous-unwind-tables
- Cookie: n3.mandriva.com 1327398287
- Buildhost: n3.mandriva.com