Closed jonathancast closed 1 year ago
This is because Module::Metadata (used internally in CPAN::Meta::Check) is confused by the way $VERSION
is defined in MP3/Tag.pm
.
➜ perl -MModule::Metadata -e '$d=Module::Metadata->new_from_module("MP3::Tag", inc => ["./local-lib/lib/perl5"]); use Data::Dumper; warn Dumper $d'
$VAR1 = bless( {
'decode_pod' => undef,
'pod' => {},
'inc' => [
'./local-lib/lib/perl5'
],
'version' => undef,
'pod_headings' => [
'NAME',
'SYNOPSIS',
'AUTHORS',
'DESCRIPTION',
'ENVIRONMENT',
'CUSTOMIZATION',
'EXAMPLE SCRIPTS',
'Problems with ID3 format',
'FILES',
'SEE ALSO',
'COPYRIGHT'
],
'filename' => '/private/tmp/local-lib/lib/perl5/MP3/Tag.pm',
'packages' => [
'MP3::Tag',
'MP3::Tag::__hasparent',
'MP3::Tag::Implemenation',
'MP3::Tag::__proxy'
],
'module' => 'MP3::Tag',
'collect_pod' => undef,
'versions' => {
'MP3::Tag::__hasparent' => bless( {
'version' => [
1,
160
],
'original' => '1.16'
}, 'version' )
}
}, 'Module::Metadata' );
The module defines package MP3::Tag
first, but then package MP3::Tag::__hasparent;
inside a block, and after the block, declare the $VERSION
without declaring the package MP3::Tag
. It's legal but is confusing some of the toolchain tools like this, so the best way to fix this would be to patch it in the upstream.
https://metacpan.org/dist/MP3-Tag/source/lib/MP3/Tag.pm
The version declaration can simply be moved up to the top of the file, right after package MP3::Tag
.
The command and output are:
When I look for the version info in MP3::Tag manually I see: