On Tue, Sep 02, 2008 at 10:17:49AM -0700, David E. Wheeler wrote: > On Sep 1, 2008, at 17:22, Aristotle Pagaltzis wrote: > >Ask the maintainers of M::B, EU::MM and M::I to all export a > >`halt` function that does just this? That would also provide > >a convenient spot in the respective modules? docs for related > >CPAN Testers arcana, so people wouldn?t have to stumble onto a > >wiki page in the bottom of a locked cabinet stuck in a disused > >lavatory with a sign on the door saying ?beware the leopard? > >in order to learn these trivia. > That seems entirely reasonable to me. This would do it, I guess: > sub halt { > my ($self, $msg) = @_; > require Carp; > carp($msg); > exit; > } > Seem reasonable to people? If so, I'll submit it to Module::Build.
But calling that function still isn't simple. It's not: $thingy->halt("Bad juju happened"); it's: if($Module::Build::VERSION >=9.876) { $thingy->halt("Bad juju happened"); } else { ... [either die and bitch at the user or do what works now] ... } And no matter how much certain people might bitch and whine about how users ought to upgrade their toolchain, the fact is that they don't. I wish they did, but they don't. Instead, they'll just get pissed off that they get some weird error twelve screens back (if they bother scrolling back) about "Can't locate method" and just assume that your module is broken. And that by extension, *perl* is broken. They're wrong, but that doesn't matter. -- David Cantrell | top google result for "internet beard fetish club" Erudite is when you make a classical allusion to a feather. Kinky is when you use the whole chicken.