Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jkeenan/1980996f8053133d01de5e67395d07d5 to your computer and use it in GitHub Desktop.
Save jkeenan/1980996f8053133d01de5e67395d07d5 to your computer and use it in GitHub Desktop.
Analysis of "dual-life" libraries found in %Maintainers::Modules
as of approximately August 18 2025.
'warnings' is under 'lib/'; needs special handling
{
"Archive::Tar" => { maintain => "cpan", mkpl => 0 },
"Attribute::Handlers" => { maintain => "dist", mkpl => 1 },
"autodie" => { maintain => "cpan", mkpl => 0 },
"AutoLoader" => { maintain => "cpan", mkpl => 0 },
"autouse" => { maintain => "dist", mkpl => 0 },
"base" => { maintain => "dist", mkpl => 1 },
"bignum" => { maintain => "cpan", mkpl => 0 },
"Carp" => { maintain => "dist", mkpl => 1 },
"Compress::Raw::Bzip2" => { maintain => "cpan", mkpl => 1 },
"Compress::Raw::Zlib" => { maintain => "cpan", mkpl => 1 },
"Config::Perl::V" => { maintain => "cpan", mkpl => 0 },
"constant" => { maintain => "dist", mkpl => 1 },
"CPAN" => { maintain => "cpan", mkpl => 0 },
"CPAN::Meta" => { maintain => "cpan", mkpl => 0 },
"CPAN::Meta::Requirements" => { maintain => "cpan", mkpl => 0 },
"CPAN::Meta::YAML" => { maintain => "cpan", mkpl => 0 },
"Data::Dumper" => { maintain => "dist", mkpl => 1 },
"DB_File" => { maintain => "cpan", mkpl => 1 },
"Devel::PPPort" => { maintain => "dist", mkpl => 1 },
"Devel::SelfStubber" => { maintain => "dist", mkpl => 0 },
"Digest" => { maintain => "cpan", mkpl => 0 },
"Digest::MD5" => { maintain => "cpan", mkpl => 1 },
"Digest::SHA" => { maintain => "cpan", mkpl => 1 },
"Dumpvalue" => { maintain => "dist", mkpl => 0 },
"Encode" => { maintain => "cpan", mkpl => 1 },
"encoding::warnings" => { maintain => "dist", mkpl => 1 },
"Env" => { maintain => "dist", mkpl => 0 },
"experimental" => { maintain => "cpan", mkpl => 0 },
"Exporter" => { maintain => "dist", mkpl => 1 },
"ExtUtils::CBuilder" => { maintain => "dist", mkpl => 1 },
"ExtUtils::Constant" => { maintain => "cpan", mkpl => 0 },
"ExtUtils::Install" => { maintain => "cpan", mkpl => 0 },
"ExtUtils::MakeMaker" => { maintain => "cpan", mkpl => 0 },
"ExtUtils::Manifest" => { maintain => "cpan", mkpl => 0 },
"ExtUtils::ParseXS" => { maintain => "dist", mkpl => 0 },
"ExtUtils::PL2Bat" => { maintain => "cpan", mkpl => 0 },
"File::Fetch" => { maintain => "cpan", mkpl => 0 },
"File::Path" => { maintain => "cpan", mkpl => 0 },
"File::Temp" => { maintain => "cpan", mkpl => 0 },
"Filter::Simple" => { maintain => "dist", mkpl => 1 },
"Filter::Util::Call" => { maintain => "cpan", mkpl => 0 },
"FindBin" => { maintain => "dist", mkpl => 1 },
"Getopt::Long" => { maintain => "cpan", mkpl => 0 },
"HTTP::Tiny" => { maintain => "cpan", mkpl => 0 },
"I18N::Collate" => { maintain => "dist", mkpl => 0 },
"I18N::LangTags" => { maintain => "dist", mkpl => 1 },
"if" => { maintain => "dist", mkpl => 1 },
"IO" => { maintain => "dist", mkpl => 1 },
"IO-Compress" => { maintain => "cpan", mkpl => 1 },
"IO::Socket::IP" => { maintain => "cpan", mkpl => 0 },
"IO::Zlib" => { maintain => "cpan", mkpl => 0 },
"IPC::Cmd" => { maintain => "cpan", mkpl => 0 },
"IPC::SysV" => { maintain => "cpan", mkpl => 1 },
"JSON::PP" => { maintain => "cpan", mkpl => 0 },
"lib" => { maintain => "dist", mkpl => 1 },
"libnet" => { maintain => "cpan", mkpl => 1 },
"Locale::Maketext" => { maintain => "dist", mkpl => 1 },
"Locale::Maketext::Simple" => { maintain => "cpan", mkpl => 0 },
"Math::BigInt" => { maintain => "cpan", mkpl => 0 },
"Math::BigInt::FastCalc" => { maintain => "cpan", mkpl => 0 },
"Math::Complex" => { maintain => "dist", mkpl => 1 },
"Memoize" => { maintain => "cpan", mkpl => 0 },
"MIME::Base64" => { maintain => "cpan", mkpl => 0 },
"Module::CoreList" => { maintain => "dist", mkpl => 1 },
"Module::Load" => { maintain => "cpan", mkpl => 0 },
"Module::Load::Conditional" => { maintain => "cpan", mkpl => 0 },
"Module::Loaded" => { maintain => "cpan", mkpl => 0 },
"Module::Metadata" => { maintain => "cpan", mkpl => 0 },
"Net::Ping" => { maintain => "dist", mkpl => 1 },
"NEXT" => { maintain => "cpan", mkpl => 0 },
"Params::Check" => { maintain => "cpan", mkpl => 0 },
"parent" => { maintain => "cpan", mkpl => 0 },
"PathTools" => { maintain => "dist", mkpl => 1 },
"Perl::OSType" => { maintain => "cpan", mkpl => 0 },
"perlfaq" => { maintain => "cpan", mkpl => 0 },
"PerlIO::via::QuotedPrint" => { maintain => "cpan", mkpl => 0 },
"Pod::Checker" => { maintain => "cpan", mkpl => 0 },
"Pod::Escapes" => { maintain => "cpan", mkpl => 0 },
"Pod::Perldoc" => { maintain => "cpan", mkpl => 1 },
"Pod::Simple" => { maintain => "cpan", mkpl => 0 },
"Pod::Usage" => { maintain => "cpan", mkpl => 0 },
"podlators" => { maintain => "cpan", mkpl => 1 },
"Safe" => { maintain => "dist", mkpl => 1 },
"Scalar::Util" => { maintain => "cpan", mkpl => 1 },
"Search::Dict" => { maintain => "dist", mkpl => 1 },
"SelfLoader" => { maintain => "dist", mkpl => 1 },
"Socket" => { maintain => "cpan", mkpl => 1 },
"Storable" => { maintain => "dist", mkpl => 1 },
"Sys::Syslog" => { maintain => "cpan", mkpl => 1 },
"Term::ANSIColor" => { maintain => "cpan", mkpl => 0 },
"Term::Cap" => { maintain => "cpan", mkpl => 0 },
"Term::Complete" => { maintain => "dist", mkpl => 0 },
"Term::ReadLine" => { maintain => "dist", mkpl => 0 },
"Term::Table" => { maintain => "cpan", mkpl => 0 },
"Test" => { maintain => "dist", mkpl => 1 },
"Test::Harness" => { maintain => "cpan", mkpl => 0 },
"Test::Simple" => { maintain => "cpan", mkpl => 0 },
"Text-Tabs+Wrap" => { maintain => "cpan", mkpl => 0 },
"Text::Abbrev" => { maintain => "dist", mkpl => 0 },
"Text::Balanced" => { maintain => "cpan", mkpl => 0 },
"Text::ParseWords" => { maintain => "cpan", mkpl => 0 },
"Thread::Queue" => { maintain => "dist", mkpl => 1 },
"Thread::Semaphore" => { maintain => "dist", mkpl => 1 },
"threads" => { maintain => "dist", mkpl => 0 },
"threads::shared" => { maintain => "dist", mkpl => 0 },
"Tie::File" => { maintain => "dist", mkpl => 1 },
"Tie::RefHash" => { maintain => "cpan", mkpl => 0 },
"Time::HiRes" => { maintain => "dist", mkpl => 1 },
"Time::Local" => { maintain => "cpan", mkpl => 0 },
"Time::Piece" => { maintain => "cpan", mkpl => 0 },
"Unicode::Collate" => { maintain => "cpan", mkpl => 1 },
"Unicode::Normalize" => { maintain => "dist", mkpl => 1 },
"version" => { maintain => "cpan", mkpl => 0 },
"Win32" => { maintain => "cpan", mkpl => 1 },
"Win32API::File" => { maintain => "cpan", mkpl => 1 },
"XSLoader" => { maintain => "dist", mkpl => 1 },
}
116 entries in %Modules (excluding _PERLLIB and lib/warnings)
[
"Attribute::Handlers",
"Carp",
"Data::Dumper",
"Devel::PPPort",
"Exporter",
"ExtUtils::CBuilder",
"Filter::Simple",
"FindBin",
"I18N::LangTags",
"IO",
"Locale::Maketext",
"Math::Complex",
"Module::CoreList",
"Net::Ping",
"PathTools",
"Safe",
"Search::Dict",
"SelfLoader",
"Storable",
"Test",
"Thread::Queue",
"Thread::Semaphore",
"Tie::File",
"Time::HiRes",
"Unicode::Normalize",
"XSLoader",
"base",
"constant",
"encoding::warnings",
"if",
"lib",
]
31 entries in %Modules are blead-first and have Makefile.PL
[
"Devel::SelfStubber",
"Dumpvalue",
"Env",
"ExtUtils::ParseXS",
"I18N::Collate",
"Term::Complete",
"Term::ReadLine",
"Text::Abbrev",
"autouse",
"threads",
"threads::shared",
]
11 entries in %Modules are blead-first and lack Makefile.PL
[
"Compress::Raw::Bzip2",
"Compress::Raw::Zlib",
"DB_File",
"Digest::MD5",
"Digest::SHA",
"Encode",
"IO-Compress",
"IPC::SysV",
"Pod::Perldoc",
"Scalar::Util",
"Socket",
"Sys::Syslog",
"Unicode::Collate",
"Win32",
"Win32API::File",
"libnet",
"podlators",
]
17 entries in %Modules are cpan-first and have Makefile.PL
[
"Archive::Tar",
"AutoLoader",
"CPAN",
"CPAN::Meta",
"CPAN::Meta::Requirements",
"CPAN::Meta::YAML",
"Config::Perl::V",
"Digest",
"ExtUtils::Constant",
"ExtUtils::Install",
"ExtUtils::MakeMaker",
"ExtUtils::Manifest",
"ExtUtils::PL2Bat",
"File::Fetch",
"File::Path",
"File::Temp",
"Filter::Util::Call",
"Getopt::Long",
"HTTP::Tiny",
"IO::Socket::IP",
"IO::Zlib",
"IPC::Cmd",
"JSON::PP",
"Locale::Maketext::Simple",
"MIME::Base64",
"Math::BigInt",
"Math::BigInt::FastCalc",
"Memoize",
"Module::Load",
"Module::Load::Conditional",
"Module::Loaded",
"Module::Metadata",
"NEXT",
"Params::Check",
"Perl::OSType",
"PerlIO::via::QuotedPrint",
"Pod::Checker",
"Pod::Escapes",
"Pod::Simple",
"Pod::Usage",
"Term::ANSIColor",
"Term::Cap",
"Term::Table",
"Test::Harness",
"Test::Simple",
"Text-Tabs+Wrap",
"Text::Balanced",
"Text::ParseWords",
"Tie::RefHash",
"Time::Local",
"Time::Piece",
"autodie",
"bignum",
"experimental",
"parent",
"perlfaq",
"version",
]
57 entries in %Modules are cpan-first and lack Makefile.PL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment