# from David Golden # on Saturday 30 August 2008 05:01: >* If Makefile.PL or Build.PL exit with a non-zero exit code, a >distribution is graded FAIL and a report is sent (but see "downgrades" >below) > >* If they exit with a zero exit code, no grade is assigned and CPAN >and CPANPLUS proceed to the next step (make/Build) >... >* "use 5.XXX" errors ... >* The phrases "OS unsupported" or "No support for OS" are detected ... >* missing *Perl* prerequisites ...
So, there is a mechanism for detecting die() messages, but it doesn't support any sort of "Missing external prerequisite" flag? I understand that a crash in Build.PL would indicate some kind of general error rather than a specific refusal to continue, but why must we remember to die in one case and exit in another? Would some kind of general-case prefix in the error message be a better way to handle this and future issues? have_launcher() or die "STOP: you need to plug in the rocket launcher"; Of course, one could add more specific checks, but I think something like m/^STOP: / on stderr from Build.PL should suffice to mean a general-purpose downgrade to N/A. And it has the benefit of being somewhat meaningful to the actual user? It would also be nice to have at-a-glance reporting of what exactly FAIL means. Did it fail to start, fail to build, or fail during the tests? For that matter, even N/A is a bit ambiguous, no? Thanks, Eric -- As an old bass player friend of mine used to say: throw money, don't clap. --Tony Parisi --------------------------------------------------- http://scratchcomputing.com ---------------------------------------------------