summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-08-02 01:22:51 -0500
committerJesse Luehrs <doy@tozt.net>2011-08-02 01:44:12 -0500
commit9b61f78189993a7bdc82b034ea64cd1a66084f66 (patch)
tree33665b9515290eb37e50306e78ce5ce18d0ebf1c
parentfa28785153da58de0024597ef6f360c9382aa478 (diff)
downloadeval-closure-9b61f78189993a7bdc82b034ea64cd1a66084f66.tar.gz
eval-closure-9b61f78189993a7bdc82b034ea64cd1a66084f66.zip
docs
-rw-r--r--lib/Eval/Closure.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Eval/Closure.pm b/lib/Eval/Closure.pm
index 4a39ed2..ccd2bbc 100644
--- a/lib/Eval/Closure.pm
+++ b/lib/Eval/Closure.pm
@@ -36,11 +36,13 @@ String eval is often used for dynamic code generation. For instance, C<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).
+(which determines which variables are in scope inside the eval), and it's easy
+to miss compilation errors, since eval catches them and sticks them in $@
+instead.
-This module attempts to solve this problem. It provides an C<eval_closure>
+This module attempts to solve these problems. It provides an C<eval_closure>
function, which evals a string in a clean environment, other than a fixed list
-of specified variables.
+of specified variables. Compilation errors are rethrown automatically.
=cut