aboutsummaryrefslogtreecommitdiff
path: root/devel/p5-Eval-Closure/pkg-descr
diff options
context:
space:
mode:
authorAndrej Zverev <az@FreeBSD.org>2011-06-06 09:27:32 +0000
committerAndrej Zverev <az@FreeBSD.org>2011-06-06 09:27:32 +0000
commit28c81e2850418b2ce3349eff7839cd601e008024 (patch)
tree64bc23cb539b1829d97ea40e78b68f9274125ef9 /devel/p5-Eval-Closure/pkg-descr
parentb01a04146711bc886841db6db0bbaf2f22d9c101 (diff)
Notes
Diffstat (limited to 'devel/p5-Eval-Closure/pkg-descr')
-rw-r--r--devel/p5-Eval-Closure/pkg-descr16
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