Ways to address this:
You can convert to using the builtin feature.
$ perl -E'try { 1/0 } catch ( $e ) { }; say "ok"' # Using 5.40 ok
You can follow add no feature qw( try );
$ perl -MTry::Tiny -E'no feature qw( try ); try { 1/0 }; say "ok"' ok
You can use an older version of the "language" (even if you're using the 5.40 interpreter).
$ perl -Mv5.38 -MTry::Tiny -e'try { 1/0 }; say "ok"' ok
(5.10 would suffice for this program.)
As you might have noticed, -E isn't forward compatible. Your program would have worked with 5.38, but it doesn't with 5.40. It's safer to use
or-e'use v5.xx; ...'
instead of-Mv5.xx -e'...'
if it's not a throwaway program.-E'...' # XXX Not forward-compatible.
In reply to Re^3: Try::Tiny and -E
by ikegami
in thread Try::Tiny and -E
by 1nickt
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |