0.000002 2026-05-12 14:55:52-07:00 America/Los_Angeles
- API rework: clean_eval and clean_string_eval now always return a
blessed Clean::Eval result object. New 'ok' field drives the bool
overload; new 'out' field holds the block's scalar-context return
value on success (block form only - string form never captures a
result, since the body may be defining subs, BEGIN/END blocks, or
otherwise producing nothing meaningful in scalar context).
- 'error' key is now only present on failure; 'out' key is only
present on block-form success. Stringification yields the empty
string on success and the trapped error on failure.
- last_error() is now only updated on failure (successes no longer
reset it). Documented that it remains fragile under DESTROY-time
reentry; capturing the result object at the call site is the
robust path.
- New convenience accessors: ok, out, error.
- Expanded POD: synopsis updated for the new pattern
(if (my $ev = clean_eval {...}) { ... = $ev->out }), new RESULT
OBJECT section, PITFALLS section covering the
my-in-conditional/or-die parsing gotcha, forced scalar context on
block return, string-form lexical visibility, return-from-block
semantics, and the (&) prototype not accepting a coderef variable.
0.000001 2026-05-12 14:07:06-07:00 America/Los_Angeles
- Initial Version