--- Canary-Stability/Stability.pm 2015/06/03 20:29:47 1.1 +++ Canary-Stability/Stability.pm 2015/06/05 00:39:05 1.4 @@ -1,14 +1,22 @@ =head1 NAME -Canary::Stability - to be done +Canary::Stability - canary to check perl compatibility for schmorp's modules =head1 SYNOPSIS - use Canary::Stability; + # in Makefile.PL + use Canary::Stability DISTNAME => 2001, MINIMUM_PERL_VERSION; =head1 DESCRIPTION -This is just a placeholder module, to be filled later. +This module is used by Schmorp's modules during configuration stage to +test the installed perl for compatibility with his modules. + +It's not, at this stage, meant as a tool for other module authors, +although in principle nothing prevents them from subscribing to the same +ideas. + +See the F in L or L for usage examples. =over 4 @@ -17,13 +25,166 @@ package Canary::Stability; BEGIN { - $VERSION = 1996; #รค the year the ariane 5 crashed due to a software bug + $VERSION = 2001; +} + +sub sgr { + # we just assume ANSI almost everywhere + # red 31, yellow 33, green 32 + + $ENV{PERL_CANARY_STABILITY_COLOUR} ne 0 + and ((-t STDOUT and length $ENV{TERM}) or $ENV{PERL_CANARY_STABILITY_COLOUR}) + and print "\e[$_[0]m"; } sub import { - # + my (undef, $distname, $minvers, $minperl) = @_; + + $ENV{PERL_CANARY_STABILITY_DISABLE} + and return; + + $minperl ||= 5.008002; + + if ($minvers > $VERSION) { + sgr 33; + print < + +Do not prompt the user on alert messages. + +=item C + +Disable use of colour. + +=item C + +Force use of colour. + +=item C + +Disable this modules functionality completely. + +=back + =head1 AUTHOR Marc Lehmann