Kwalitee Issues

has_meta_yml

Add a META.yml to the distribution. Your buildtool should be able to autogenerate it.

manifest_matches_dist

Run a proper command ("make manifest" or "./Build manifest", maybe with a force option), or use a distribution builder to generate the MANIFEST. Or update MANIFEST manually.

Error:

  • MANIFEST (288) does not match dist (462):
  • Missing in MANIFEST: OLE/mingw32.exc, Sound/Sound.xs.prev, blib/arch/auto/Win32/.exists, blib/arch/auto/Win32/ChangeNotify/.exists, blib/arch/auto/Win32/ChangeNotify/ChangeNotify.bs, blib/arch/auto/Win32/ChangeNotify/ChangeNotify.dll, blib/arch/auto/Win32/Clipboard/.exists, blib/arch/auto/Win32/Clipboard/Clipboard.bs, blib/arch/auto/Win32/Clipboard/Clipboard.dll, blib/arch/auto/Win32/Console/.exists, blib/arch/auto/Win32/Console/Console.bs, blib/arch/auto/Win32/Console/Console.dll, blib/arch/auto/Win32/Event/.exists, blib/arch/auto/Win32/Event/Event.bs, blib/arch/auto/Win32/Event/Event.dll, blib/arch/auto/Win32/EventLog/.exists, blib/arch/auto/Win32/EventLog/EventLog.bs, blib/arch/auto/Win32/EventLog/EventLog.dll, blib/arch/auto/Win32/File/.exists, blib/arch/auto/Win32/File/File.bs, blib/arch/auto/Win32/File/File.dll, blib/arch/auto/Win32/FileSecurity/.exists, blib/arch/auto/Win32/FileSecurity/FileSecurity.bs, blib/arch/auto/Win32/FileSecurity/FileSecurity.dll, blib/arch/auto/Win32/IPC/.exists, blib/arch/auto/Win32/IPC/IPC.bs, blib/arch/auto/Win32/IPC/IPC.dll, blib/arch/auto/Win32/Internet/.exists, blib/arch/auto/Win32/Internet/Internet.bs, blib/arch/auto/Win32/Internet/Internet.dll, blib/arch/auto/Win32/Mutex/.exists, blib/arch/auto/Win32/Mutex/Mutex.bs, blib/arch/auto/Win32/Mutex/Mutex.dll, blib/arch/auto/Win32/NetAdmin/.exists, blib/arch/auto/Win32/NetAdmin/NetAdmin.bs, blib/arch/auto/Win32/NetAdmin/NetAdmin.dll, blib/arch/auto/Win32/NetResource/.exists, blib/arch/auto/Win32/NetResource/NetResource.bs, blib/arch/auto/Win32/NetResource/NetResource.dll, blib/arch/auto/Win32/ODBC/.exists, blib/arch/auto/Win32/ODBC/ODBC.bs, blib/arch/auto/Win32/ODBC/ODBC.dll, blib/arch/auto/Win32/OLE/.exists, blib/arch/auto/Win32/OLE/OLE.bs, blib/arch/auto/Win32/OLE/OLE.dll, blib/arch/auto/Win32/PerfLib/.exists, blib/arch/auto/Win32/PerfLib/PerfLib.bs, blib/arch/auto/Win32/PerfLib/PerfLib.dll, blib/arch/auto/Win32/Pipe/.exists, blib/arch/auto/Win32/Pipe/Pipe.bs, blib/arch/auto/Win32/Pipe/Pipe.dll, blib/arch/auto/Win32/Process/.exists, blib/arch/auto/Win32/Process/Process.bs, blib/arch/auto/Win32/Process/Process.dll, blib/arch/auto/Win32/Registry/.exists, blib/arch/auto/Win32/Registry/Registry.bs, blib/arch/auto/Win32/Registry/Registry.dll, blib/arch/auto/Win32/Semaphore/.exists, blib/arch/auto/Win32/Semaphore/Semaphore.bs, blib/arch/auto/Win32/Semaphore/Semaphore.dll, blib/arch/auto/Win32/Service/.exists, blib/arch/auto/Win32/Service/Service.bs, blib/arch/auto/Win32/Service/Service.dll, blib/arch/auto/Win32/Shortcut/.exists, blib/arch/auto/Win32/Shortcut/Shortcut.bs, blib/arch/auto/Win32/Shortcut/Shortcut.dll, blib/arch/auto/Win32/Sound/.exists, blib/arch/auto/Win32/Sound/Sound.bs, blib/arch/auto/Win32/Sound/Sound.dll, blib/arch/auto/Win32/TieRegistry/.exists, blib/arch/auto/Win32/Win32.bs, blib/arch/auto/Win32/Win32.dll, blib/arch/auto/Win32/WinError/.exists, blib/arch/auto/Win32/WinError/WinError.bs, blib/arch/auto/Win32/WinError/WinError.dll, blib/arch/auto/Win32API/File/.exists, blib/arch/auto/Win32API/File/File.bs, blib/arch/auto/Win32API/File/File.dll, blib/arch/auto/Win32API/Net/.exists, blib/arch/auto/Win32API/Net/Net.bs, blib/arch/auto/Win32API/Net/Net.dll, blib/arch/auto/Win32API/Registry/.exists, blib/arch/auto/Win32API/Registry/Registry.bs, blib/arch/auto/Win32API/Registry/Registry.dll, blib/html/lib/site/Win32/OLE/Browser.dhtml, blib/html/lib/site/Win32/OLE/Browser.html, blib/html/lib/site/Win32/OLE/Class.png, blib/html/lib/site/Win32/OLE/Const.png, blib/html/lib/site/Win32/OLE/Default.png, blib/html/lib/site/Win32/OLE/Enum.png, blib/html/lib/site/Win32/OLE/Event.png, blib/html/lib/site/Win32/OLE/Function.png, blib/html/lib/site/Win32/OLE/Global.png, blib/html/lib/site/Win32/OLE/Help.png, blib/html/lib/site/Win32/OLE/Library.png, blib/html/lib/site/Win32/OLE/Module.png, blib/html/lib/site/Win32/OLE/Property.png, blib/html/lib/site/Win32/OLE/Type.png, blib/lib/.exists, blib/lib/OLE.pm, blib/lib/Win32.pm, blib/lib/Win32/.exists, blib/lib/Win32/ChangeNotify.pm, blib/lib/Win32/Client.pl, blib/lib/Win32/Clipboard.pm, blib/lib/Win32/Console.pm, blib/lib/Win32/Event.pm, blib/lib/Win32/EventLog.pm, blib/lib/Win32/File.pm, blib/lib/Win32/FileSecurity.pm, blib/lib/Win32/IPC.pm, blib/lib/Win32/Internet.pm, blib/lib/Win32/Mutex.pm, blib/lib/Win32/NetAdmin.pm, blib/lib/Win32/NetResource.pm, blib/lib/Win32/ODBC.pm, blib/lib/Win32/OLE.pm, blib/lib/Win32/OLE/Const.pm, blib/lib/Win32/OLE/Enum.pm, blib/lib/Win32/OLE/Lite.pm, blib/lib/Win32/OLE/NEWS.pod, blib/lib/Win32/OLE/NLS.pm, blib/lib/Win32/OLE/TypeInfo.pm, blib/lib/Win32/OLE/Variant.pm, blib/lib/Win32/PerfLib.pm, blib/lib/Win32/Pipe.pm, blib/lib/Win32/Process.pm, blib/lib/Win32/Registry.pm, blib/lib/Win32/Semaphore.pm, blib/lib/Win32/Server.pl, blib/lib/Win32/Service.pm, blib/lib/Win32/Shortcut.pm, blib/lib/Win32/Sound.pm, blib/lib/Win32/Test.pl, blib/lib/Win32/TieRegistry.pm, blib/lib/Win32/WinError.pm, blib/lib/Win32/test-async.pl, blib/lib/Win32API/.exists, blib/lib/Win32API/File.pm, blib/lib/Win32API/Net.pm, blib/lib/Win32API/Registry.pm, blib/lib/auto/Win32/.exists, blib/lib/auto/Win32/ChangeNotify/.exists, blib/lib/auto/Win32/Clipboard/.exists, blib/lib/auto/Win32/Console/.exists, blib/lib/auto/Win32/Event/.exists, blib/lib/auto/Win32/EventLog/.exists, blib/lib/auto/Win32/File/.exists, blib/lib/auto/Win32/FileSecurity/.exists, blib/lib/auto/Win32/IPC/.exists, blib/lib/auto/Win32/Internet/.exists, blib/lib/auto/Win32/Mutex/.exists, blib/lib/auto/Win32/NetAdmin/.exists, blib/lib/auto/Win32/NetResource/.exists, blib/lib/auto/Win32/NetResource/autosplit.ix, blib/lib/auto/Win32/ODBC/.exists, blib/lib/auto/Win32/OLE/.exists, blib/lib/auto/Win32/PerfLib/.exists, blib/lib/auto/Win32/PerfLib/autosplit.ix, blib/lib/auto/Win32/Pipe/.exists, blib/lib/auto/Win32/Process/.exists, blib/lib/auto/Win32/Registry/.exists, blib/lib/auto/Win32/Semaphore/.exists, blib/lib/auto/Win32/Service/.exists, blib/lib/auto/Win32/Shortcut/.exists, blib/lib/auto/Win32/Sound/.exists, blib/lib/auto/Win32/TieRegistry/.exists, blib/lib/auto/Win32/WinError/.exists, blib/lib/auto/Win32API/File/.exists, blib/lib/auto/Win32API/Net/.exists, blib/lib/auto/Win32API/Registry/.exists, blib/man3/.exists, libwin32.ppd, x86/libwin32.tar.gz

use_strict

Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

Error: ExtUtils::Install, Win32, Win32, Win32::ChangeNotify, Win32::ChangeNotify, Win32::Clipboard, Win32::Clipboard, Win32::Console, Win32::Console, Win32::Event, Win32::Event, Win32::EventLog, Win32::EventLog, Win32::File, Win32::File, Win32::FileSecurity, Win32::FileSecurity, Win32::Internet, Win32::Internet, Win32::Mutex, Win32::Mutex, Win32::NetAdmin, Win32::NetAdmin, Win32::NetResource, Win32::NetResource, Win32::ODBC, Win32::ODBC, Win32::OLE::Enum, Win32::OLE::Enum, Win32::OLE::Tie, Win32::OLE::Tie, Win32::Pipe, Win32::Pipe, Win32::Process, Win32::Process, Win32::Registry, Win32::Registry, Win32::Semaphore, Win32::Semaphore, Win32::Service, Win32::Service, Win32::Shortcut, Win32::Shortcut, Win32::Sound, Win32::Sound, Win32::TieRegistry, Win32::TieRegistry, Win32::WinError, Win32::WinError

main_module_version_matches_dist_version

Make sure that the main module name and version are the same of the distribution.

no_pod_errors

Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.

Error: libwin32-0.151/APIFile/File.pm -- Around line 806: Unknown E content in E<NOT> Around line 865: Unknown E content in E<does> Unknown E content in E<does> Around line 998: Unknown E content in E<some> libwin32-0.151/APIRegistry/Registry.pm -- Around line 1141: You forgot a '=back' before '=head2' Around line 1178: Unknown E content in E<some> Around line 1209: Unknown E content in E<might> libwin32-0.151/EventLog/EventLog.pm -- Around line 486: You forgot a '=back' before '=head1' libwin32-0.151/FileSecurity/FileSecurity.pm -- Around line 297: =over without closing =back libwin32-0.151/NetResource/NetResource.pm -- Around line 121: '=item' outside of any '=over' Around line 139: You forgot a '=back' before '=head1' Around line 178: You forgot a '=back' before '=head2' Around line 183: '=item' outside of any '=over' libwin32-0.151/TieRegistry/TieRegistry.pm -- Around line 1798: Unknown E content in E<can> Unknown E content in E<can> Around line 1845: Unknown E content in E<more than> Around line 1955: Unknown E content in E<always> Around line 2428: Unknown E content in E<one> Around line 3149: Unknown E content in E<GT> Unknown E content in E<GT> Around line 3166: Unknown E content in E<GT> Unknown E content in E<GT> Around line 3227: Unknown E content in E<GT> libwin32-0.151/blib/lib/Win32/EventLog.pm -- Around line 486: You forgot a '=back' before '=head1' libwin32-0.151/blib/lib/Win32/FileSecurity.pm -- Around line 297: =over without closing =back libwin32-0.151/blib/lib/Win32/NetResource.pm -- Around line 121: '=item' outside of any '=over' Around line 139: You forgot a '=back' before '=head1' Around line 178: You forgot a '=back' before '=head2' Around line 183: '=item' outside of any '=over' libwin32-0.151/blib/lib/Win32/TieRegistry.pm -- Around line 1798: Unknown E content in E<can> Unknown E content in E<can> Around line 1845: Unknown E content in E<more than> Around line 1955: Unknown E content in E<always> Around line 2428: Unknown E content in E<one> Around line 3149: Unknown E content in E<GT> Unknown E content in E<GT> Around line 3166: Unknown E content in E<GT> Unknown E content in E<GT> Around line 3227: Unknown E content in E<GT> libwin32-0.151/blib/lib/Win32API/File.pm -- Around line 806: Unknown E content in E<NOT> Around line 865: Unknown E content in E<does> Unknown E content in E<does> Around line 998: Unknown E content in E<some> libwin32-0.151/blib/lib/Win32API/Registry.pm -- Around line 1141: You forgot a '=back' before '=head2' Around line 1178: Unknown E content in E<some> Around line 1209: Unknown E content in E<might>

has_meta_json

Add a META.json to the distribution. Your buildtool should be able to autogenerate it.

has_tests_in_t_dir

Add tests or move tests.pl to the t/ directory!

meta_yml_has_license

Define the license if you are using in Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to ExtUtils::MakeMaker version 6.31.

use_warnings

Add 'use warnings' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

Error: ExtUtils::Install, OLE, OLE, Tie::Registry, Win32, Win32, Win32::ChangeNotify, Win32::ChangeNotify, Win32::Clipboard, Win32::Clipboard, Win32::Console, Win32::Console, Win32::Event, Win32::Event, Win32::EventLog, Win32::EventLog, Win32::File, Win32::File, Win32::FileSecurity, Win32::FileSecurity, Win32::IPC, Win32::IPC, Win32::Internet, Win32::Internet, Win32::Mutex, Win32::Mutex, Win32::NetAdmin, Win32::NetAdmin, Win32::NetResource, Win32::NetResource, Win32::ODBC, Win32::ODBC, Win32::OLE, Win32::OLE, Win32::OLE::Const, Win32::OLE::Const, Win32::OLE::Enum, Win32::OLE::Enum, Win32::OLE::NLS, Win32::OLE::NLS, Win32::OLE::Tie, Win32::OLE::Tie, Win32::OLE::TypeInfo, Win32::OLE::TypeInfo, Win32::OLE::Variant, Win32::OLE::Variant, Win32::PerfLib, Win32::PerfLib, Win32::Pipe, Win32::Pipe, Win32::Process, Win32::Process, Win32::Registry, Win32::Registry, Win32::Semaphore, Win32::Semaphore, Win32::Service, Win32::Service, Win32::Shortcut, Win32::Shortcut, Win32::Sound, Win32::Sound, Win32::TieRegistry, Win32::TieRegistry, Win32::WinError, Win32::WinError, Win32API::File, Win32API::File, Win32API::Net, Win32API::Net, Win32API::Registry, Win32API::Registry

no_unauthorized_packages

Ask the owner of the distribution (the one who released it first, or the one who is designated in x_authority) to give you a (co-)maintainer's permission.

Error:

  • ExtUtils::Install
  • ExtUtils::Install::Warn
  • OLE
  • OLE::Tie
  • OLE::Variant
  • Tie::Registry
  • Win32
  • Win32::ChangeNotify
  • Win32::Clipboard
  • Win32::Console
  • Win32::Event
  • Win32::EventLog
  • Win32::File
  • Win32::FileSecurity
  • Win32::IPC
  • Win32::Internet
  • Win32::Mutex
  • Win32::NetAdmin
  • Win32::NetResource
  • Win32::ODBC
  • Win32::OLE
  • Win32::OLE::Const
  • Win32::OLE::Enum
  • Win32::OLE::NLS
  • Win32::OLE::Tie
  • Win32::OLE::TypeInfo
  • Win32::OLE::Variant
  • Win32::PerfLib
  • Win32::Pipe
  • Win32::Process
  • Win32::Registry
  • Win32::Semaphore
  • Win32::Service
  • Win32::Shortcut
  • Win32::Sound
  • Win32::Sound::WaveOut
  • Win32::TieRegistry
  • Win32::WinError
  • Win32API::File
  • Win32API::Net
  • Win32API::Registry

consistent_version

Split the distribution, or fix the version numbers to make them consistent (use the highest version number to avoid version downgrade).

Error: 0.02,0.021,0.03,0.031,0.04,0.05,0.06,0.062,0.07,0.08,0.081,0.1101,0.15,0.151,0.17,0.23,0.46,1.00,1.01,1.02,1.03,1.19

has_separate_license_file

This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.

has_security_doc

Add SECURITY(.pod|md). See Software::Security::Policy.

security_doc_contains_contact

Add SECURITY(.pod|md) and add a contact address. See Software::Security::Policy.

has_contributing_doc

Add CONTRIBUTING(.pod|md). See https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.

Modules

Name Abstract Version View
ExtUtils::Install install files from here to there 1.19 metacpan
OLE metacpan
Tie::Registry 0.15 metacpan
Win32 0.151 metacpan
Win32::ChangeNotify Monitor events related to files and directories 1.02 metacpan
Win32::Clipboard 0.03 metacpan
Win32::Console Win32 Console and Character Mode Functions 0.031 metacpan
Win32::Event Use Win32 event objects from Perl 1.00 metacpan
Win32::EventLog Process Win32 Event Logs from Perl 0.062 metacpan
Win32::File manage file attributes in perl 0.04 metacpan
Win32::FileSecurity manage FileSecurity Discretionary Access Control Lists in perl 1.03 metacpan
Win32::IPC Base class for Win32 synchronization objects 1.01 metacpan
Win32::Internet Access to WININET.DLL functions 0.081 metacpan
Win32::Mutex Use Win32 mutex objects from Perl 1.01 metacpan
Win32::NetAdmin manage network groups and users in perl 0.062 metacpan
Win32::NetResource manage network resources in perl 0.05 metacpan
Win32::ODBC ODBC Extension for Win32 0.031 metacpan
Win32::OLE OLE Automation extensions 0.1101 metacpan
Win32::OLE::Const Extract constant definitions from TypeLib metacpan
Win32::OLE::Enum OLE Automation Collection Objects metacpan
Win32::OLE::NLS OLE National Language Support metacpan
Win32::OLE::Tie metacpan
Win32::OLE::TypeInfo metacpan
Win32::OLE::Variant Create and modify OLE VARIANT variables metacpan
Win32::PerfLib accessing the Windows NT Performance Counter 0.04 metacpan
Win32::Pipe 0.021 metacpan
Win32::Process Create and manipulate processes. 0.06 metacpan
Win32::Registry 0.06 metacpan
Win32::Semaphore Use Win32 semaphore objects from Perl 1.01 metacpan
Win32::Service manage system services in perl 0.04 metacpan
Win32::Shortcut 0.03 metacpan
Win32::Sound An extension to play with Windows sounds 0.46 metacpan
Win32::TieRegistry Powerful and easy ways to manipulate a registry [on Win32 for now]. 0.23 metacpan
Win32::WinError 0.02 metacpan
Win32API::File Low-level access to Win32 system API calls for files/dirs. 0.07 metacpan
Win32API::Net Perl interface to the Windows NT LanManager API account management functions. 0.08 metacpan
Win32API::Registry Low-level access to Win32 system API calls from WINREG.H 0.17 metacpan

Provides

Name File View
ExtUtils::Install::Warn instsup/ExtUtils/Install.pm metacpan
OLE::Tie OLE/lib/OLE.pm metacpan
OLE::Variant OLE/lib/OLE.pm metacpan
Win32::Sound::WaveOut Sound/Sound.pm metacpan

Other Files

APIFile/MANIFEST metacpan
APIFile/Makefile.PL metacpan
APINet/MANIFEST metacpan
APINet/Makefile.PL metacpan
APIRegistry/MANIFEST metacpan
APIRegistry/Makefile.PL metacpan
ChangeNotify/MANIFEST metacpan
ChangeNotify/Makefile.PL metacpan
Changes metacpan
Clipboard/MANIFEST metacpan
Clipboard/Makefile.PL metacpan
Console/MANIFEST metacpan
Console/Makefile.PL metacpan
Event/MANIFEST metacpan
Event/Makefile.PL metacpan
EventLog/MANIFEST metacpan
EventLog/Makefile.PL metacpan
File/MANIFEST metacpan
File/Makefile.PL metacpan
FileSecurity/MANIFEST metacpan
FileSecurity/Makefile.PL metacpan
IPC/MANIFEST metacpan
IPC/Makefile.PL metacpan
Internet/MANIFEST metacpan
Internet/Makefile.PL metacpan
MANIFEST metacpan
Makefile.PL metacpan
Mutex/MANIFEST metacpan
Mutex/Makefile.PL metacpan
NetAdmin/MANIFEST metacpan
NetAdmin/Makefile.PL metacpan
NetResource/MANIFEST metacpan
NetResource/Makefile.PL metacpan
ODBC/MANIFEST metacpan
ODBC/Makefile.PL metacpan
OLE/MANIFEST metacpan
OLE/Makefile.PL metacpan
PerfLib/MANIFEST metacpan
PerfLib/Makefile.PL metacpan
Pipe/MANIFEST metacpan
Pipe/Makefile.PL metacpan
Process/MANIFEST metacpan
Process/Makefile.PL metacpan
README metacpan
Registry/MANIFEST metacpan
Registry/Makefile.PL metacpan
Semaphore/MANIFEST metacpan
Semaphore/Makefile.PL metacpan
Service/MANIFEST metacpan
Service/Makefile.PL metacpan
Shortcut/MANIFEST metacpan
Shortcut/Makefile.PL metacpan
Sound/MANIFEST metacpan
Sound/Makefile.PL metacpan
TieRegistry/MANIFEST metacpan
TieRegistry/Makefile.PL metacpan
WinError/MANIFEST metacpan
WinError/Makefile.PL metacpan