diff options
author | Andrej Zverev <az@FreeBSD.org> | 2011-06-06 09:27:32 +0000 |
---|---|---|
committer | Andrej Zverev <az@FreeBSD.org> | 2011-06-06 09:27:32 +0000 |
commit | 28c81e2850418b2ce3349eff7839cd601e008024 (patch) | |
tree | 64bc23cb539b1829d97ea40e78b68f9274125ef9 /devel/p5-Eval-Closure/pkg-descr | |
parent | b01a04146711bc886841db6db0bbaf2f22d9c101 (diff) |
Notes
Diffstat (limited to 'devel/p5-Eval-Closure/pkg-descr')
-rw-r--r-- | devel/p5-Eval-Closure/pkg-descr | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/devel/p5-Eval-Closure/pkg-descr b/devel/p5-Eval-Closure/pkg-descr new file mode 100644 index 000000000000..a08e85f714c2 --- /dev/null +++ b/devel/p5-Eval-Closure/pkg-descr @@ -0,0 +1,16 @@ +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 |