File Coverage

lib/ExtUtils/MakeMaker/version.pm
Criterion Covered Total %
statement 20 20 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 27 27 100.0


line stmt bran cond sub pod time code
1             #--------------------------------------------------------------------------#
2             # This is a modified copy of version.pm 0.9909, bundled exclusively for
3             # use by ExtUtils::Makemaker and its dependencies to bootstrap when
4             # version.pm is not available. It should not be used by ordinary modules.
5             #
6             # When loaded, it will try to load version.pm. If that fails, it will load
7             # ExtUtils::MakeMaker::version::vpp and alias various *version functions
8             # to functions in that module. It will also override UNIVERSAL::VERSION.
9             #--------------------------------------------------------------------------#
10              
11              
12             use 5.006001;
13 52     52   889 use strict;
  52         538  
14 52     52   233 use warnings;
  52         89  
  52         1028  
15 52     52   204  
  52         96  
  52         1576  
16             use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
17 52     52   245  
  52         89  
  52         7193  
18             $VERSION = '7.64';
19             $VERSION =~ tr/_//d;
20             $CLASS = 'version';
21              
22             {
23             local $SIG{'__DIE__'};
24             eval "use version";
25 52     52   19529 if ( $@ ) { # don't have any version.pm installed
  52         76982  
  52         247  
26             eval "use ExtUtils::MakeMaker::version::vpp";
27             die "$@" if ( $@ );
28             no warnings;
29 52     52   304 delete $INC{'version.pm'};
  52         90  
  52         6475  
30             $INC{'version.pm'} = $INC{'ExtUtils/MakeMaker/version.pm'};
31             push @version::ISA, "ExtUtils::MakeMaker::version::vpp";
32             $version::VERSION = $VERSION;
33             *version::qv = \&ExtUtils::MakeMaker::version::vpp::qv;
34             *version::declare = \&ExtUtils::MakeMaker::version::vpp::declare;
35             *version::_VERSION = \&ExtUtils::MakeMaker::version::vpp::_VERSION;
36             *version::vcmp = \&ExtUtils::MakeMaker::version::vpp::vcmp;
37             *version::new = \&ExtUtils::MakeMaker::version::vpp::new;
38             if ("$]" >= 5.009000) {
39             no strict 'refs';
40 52     52   288 *version::stringify = \&ExtUtils::MakeMaker::version::vpp::stringify;
  52         107  
  52         10156  
41             *{'version::(""'} = \&ExtUtils::MakeMaker::version::vpp::stringify;
42             *{'version::(<=>'} = \&ExtUtils::MakeMaker::version::vpp::vcmp;
43             *version::parse = \&ExtUtils::MakeMaker::version::vpp::parse;
44             }
45             require ExtUtils::MakeMaker::version::regex;
46             *version::is_lax = \&ExtUtils::MakeMaker::version::regex::is_lax;
47             *version::is_strict = \&ExtUtils::MakeMaker::version::regex::is_strict;
48             *LAX = \$ExtUtils::MakeMaker::version::regex::LAX;
49             *STRICT = \$ExtUtils::MakeMaker::version::regex::STRICT;
50             }
51             elsif ( ! version->can('is_qv') ) {
52             *version::is_qv = sub { exists $_[0]->{qv} };
53             }
54             }
55              
56             1;