Group :: Development/Perl
RPM: perl-Eval-Closure
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Current version: 0.14-alt1
Build date: 5 june 2016, 15:44 ( 407.6 weeks ago )
Size: 24.50 Kb
Home page: http://search.cpan.org/dist/Eval-Closure/
License: GPL or Artistic
Summary: Safely and cleanly create closures via string eval
Description:
List of contributors List of rpms provided by this srpm:
ACL:
Build date: 5 june 2016, 15:44 ( 407.6 weeks ago )
Size: 24.50 Kb
Home page: http://search.cpan.org/dist/Eval-Closure/
License: GPL or Artistic
Summary: 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).
Current maintainer: Igor Vlasenko 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).
List of contributors List of rpms provided by this srpm:
- perl-Eval-Closure