Subject: | Version declarations unparseable by Module::Metadata, prevents carton installation |
Attempting to install this distribution in Carton results in the following error from Module::Metadata:
Error evaling version line ' my $dummy = q# Hide from _packages_inside()
#; package Module::Metadata::_version::p66;
use version;
sub {
local $VERSION;
use WWW::Scripter; $VERSION = $WWW'Scripter'VERSION;;
return $VERSION if defined $VERSION;
return $Module::Metadata::_version::p66::VERSION;
};
' in /path/to/WWW/Scripter.pm: Can't locate WWW/Scripter.pm in @INC (you may need to install the WWW::Scripter module) (@INC contains: ...) at (eval 159) line 6, <$handle> line 1273.
This is because of the version declaration lines found for WWW::Scripter::History and WWW::Scripter::_about_protocol, which are:
use WWW::Scripter; $VERSION = $WWW'Scripter'VERSION;
Version declaration lines cannot depend on other modules in the same distribution. Please do not overcomplicate your version declarations. These packages cannot be used normally since they don't have their own file, so they do not need a version at all, but if you want to give them a version just set it to a constant.