Subject: | Engligh.pm, Try::Tiny and UNIVERSAL::ref |
Date: | Sat, 12 May 2012 20:53:54 +0100 |
To: | bugs-Object-Lazy [...] rt.cpan.org |
From: | Matt S Trout <mst [...] shadowcat.co.uk> |
English.pm is almost never used in my experience, and while I entirely
respect your choice to use it if you do, most developers miss the
-no_match_vars thing and end up slowing everything down.
I'd suggest that ideally you would either document it using $@, or
using Try::Tiny - which is far superior if you're trying to do things
"nicely" and traps more common errors using eval than anything else does.
You also might want to look at UNIVERSAL::ref which removes the need to
override CORE::GLOBAL::ref in the way you're doing - it's a neat trick
but CORE::GLOBAL::* overrides are a pain in the neck sometimes (speaking
as somebody who's done more than a few of them :) and while it does mean
non-core XS dependencies I'd recommend it as at least an -optional-
way of doing things.
No reason you can't do $old_core_global_ref->($ref) inside your current
::Ref either.
Other than that, the only thing I'd mention is that there doesn't seem to
be any point to using Module::Build - other than complicated XS builds
there's no advantage over ExtUtils::MakeMaker and Module::Build is in
maintainance-only mode as a failed project whereas ExtUtils::MakeMaker is
actively maintained.
--
Matt S Trout - Shadowcat Systems - Perl consulting with a commit bit and a clue
http://shadowcat.co.uk/blog/matt-s-trout/ http://twitter.com/shadowcat_mst/
Email me now on mst (at) shadowcat.co.uk and let's chat about how our Catalyst
commercial support, training and consultancy packages could help your team.