CINXE.COM
CPANTS
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewpoint" content="width=device-width, initial-scale=1"> <title>CPANTS</title> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-WPD8J9V077"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-WPD8J9V077'); </script> <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <link href="/datatables/css/jquery.dataTables.min.css" rel="stylesheet"> <link href="/datatables-responsive/css/responsive.dataTables.css" rel="stylesheet"> <link href="/font-awesome/css/font-awesome.min.css" rel="stylesheet"> <link href="/cpants/css/cpants.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="/html5shiv/html5shiv.min.js"></script> <script src="/respond-js/respond.min.js"></script> <![endif]--> </head> <body class=""> <div id="navbar" class="navbar navbar-default navbar-static-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <h1><a href="/" class="navbar-brand">CPANTS</a></h1> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="/kwalitee">Kwalitee</a></li> <li><a href="/ranking">Ranking</a></li> <li><a href="/recent">Recent</a></li> </ul> </div> </div> </div> <div class="container"> <div class="row"> <div id="main" class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <div class="col-xs-12 col-sm-10 col-md-10 col-lg-10"> <section> <div class="col-xs-12 col-sm-12 col-md-10 col-lg-10"> <h2>Kwalitee Indicator: use_warnings <span class="small"><span class="small label label-info">extra</span></span></h2> <p>This distribution does not 'use warnings;' (or its equivalents) in all of its modules. Note that this is not about that your modules actually warn when something bad happens. It's bad if nobody can tell if a module warns or not, without reading the source code of your favorite module that actually enforces warnings. In other words, it's bad if someone feels the need to add 'use warnings' to your modules. <h3>How to fix</h3> <p>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. <h3>Yearly Statistics</h3> <table id="stats" class="display compact small"> <thead> <tr> <th>Year</th> <th>Fails (Latest)</th> <th>Releases (Latest)</th> <th>Fails (CPAN)</th> <th>Releases (CPAN)</th> <th>Fails (BackPAN)</th> <th>Releases (BackPAN)</th> </tr> </thead> <tbody> <tr> <td>2025</td> <td>304</td> <td>1482</td> <td>508</td> <td>2748</td> <td>556</td> <td>3011</td> </tr> <tr> <td>2024</td> <td>557</td> <td>2231</td> <td>1442</td> <td>6439</td> <td>2293</td> <td>11123</td> </tr> <tr> <td>2023</td> <td>371</td> <td>1879</td> <td>1331</td> <td>5779</td> <td>2211</td> <td>10209</td> </tr> <tr> <td>2022</td> <td>310</td> <td>1532</td> <td>1175</td> <td>5384</td> <td>2093</td> <td>9539</td> </tr> <tr> <td>2021</td> <td>338</td> <td>1708</td> <td>1225</td> <td>5369</td> <td>2420</td> <td>10425</td> </tr> <tr> <td>2020</td> <td>429</td> <td>1821</td> <td>1427</td> <td>6364</td> <td>2946</td> <td>12522</td> </tr> <tr> <td>2019</td> <td>375</td> <td>1671</td> <td>1251</td> <td>5991</td> <td>3003</td> <td>12452</td> </tr> <tr> <td>2018</td> <td>364</td> <td>1629</td> <td>1428</td> <td>6491</td> <td>3452</td> <td>15488</td> </tr> <tr> <td>2017</td> <td>465</td> <td>2242</td> <td>1686</td> <td>7778</td> <td>3933</td> <td>16357</td> </tr> <tr> <td>2016</td> <td>415</td> <td>2132</td> <td>1656</td> <td>8037</td> <td>4876</td> <td>19948</td> </tr> </tbody> </table> <hr> <h3>Latest Fails</h3> <table id="fails" class="display compact small"> <thead> <tr> <th>Name</th> <th>Released by</th> <th>Released on</th> </tr> </thead> <tbody> <tr> <td>Music-Drummer-0.6005</td> <td>GENE</td> <td>2025-03-30</td> </tr> <tr> <td>WordList-ID-KBBI-FigureOfSpeech-0.001</td> <td>PERLANCAR</td> <td>2025-03-30</td> </tr> <tr> <td>autobox-Lookup-0.002</td> <td>SCESANO</td> <td>2025-03-30</td> </tr> <tr> <td>Test-Simple-1.302210</td> <td>EXODIST</td> <td>2025-03-30</td> </tr> <tr> <td>Pod-Usage-2.05</td> <td>MAREKR</td> <td>2025-03-29</td> </tr> <tr> <td>App-SpreadRevolutionaryDate-0.49</td> <td>GIBUS</td> <td>2025-03-29</td> </tr> <tr> <td>Package-Subroutine-v0.22.4</td> <td>SKNPP</td> <td>2025-03-29</td> </tr> <tr> <td>App-Dest-1.34</td> <td>GRYPHON</td> <td>2025-03-29</td> </tr> <tr> <td>Prima-OpenGL-1.04</td> <td>KARASIK</td> <td>2025-03-28</td> </tr> <tr> <td>Sys-Cmd-0.99.1</td> <td>MLAWREN</td> <td>2025-03-28</td> </tr> <tr> <td>ICANN-RST-0.03</td> <td>GBROWN</td> <td>2025-03-28</td> </tr> <tr> <td>all-mandatory-0.01</td> <td>DSTROMA</td> <td>2025-03-28</td> </tr> <tr> <td>DBD-Sybase-1.26</td> <td>MEWP</td> <td>2025-03-27</td> </tr> <tr> <td>Regexp-Pattern-Instagram-0.001</td> <td>PERLANCAR</td> <td>2025-03-27</td> </tr> <tr> <td>PDL-2.100</td> <td>ETJ</td> <td>2025-03-27</td> </tr> <tr> <td>String-CRC32C-0.02</td> <td>MLEHMANN</td> <td>2025-03-27</td> </tr> <tr> <td>TVision-0.21</td> <td>VKON</td> <td>2025-03-27</td> </tr> <tr> <td>Win32-ExeAsDll-0.01</td> <td>BULKDD</td> <td>2025-03-25</td> </tr> <tr> <td>Net-Z3950-FOLIO-v4.1.1</td> <td>MIRK</td> <td>2025-03-25</td> </tr> <tr> <td>Class-Accessor-Inherited-XS-0.39</td> <td>RANDIR</td> <td>2025-03-24</td> </tr> <tr> <td>JavonetPerlSdk-v2.5.14</td> <td>JAVONET</td> <td>2025-03-24</td> </tr> <tr> <td>Number-Phone-4.0006</td> <td>DCANTRELL</td> <td>2025-03-24</td> </tr> <tr> <td>Ascii-Text-0.21</td> <td>LNATION</td> <td>2025-03-23</td> </tr> <tr> <td>EMDIS-ECS-0.44</td> <td>KVMUSER</td> <td>2025-03-23</td> </tr> <tr> <td>Tree-RB-XS-0.18</td> <td>NERDVANA</td> <td>2025-03-23</td> </tr> <tr> <td>Business-ISBN-Data-20250322.001</td> <td>BRIANDFOY</td> <td>2025-03-22</td> </tr> <tr> <td>XS-libcatch-3.7.1.1</td> <td>SYBER</td> <td>2025-03-22</td> </tr> <tr> <td>Module-CoreList-5.20250321</td> <td>BINGOS</td> <td>2025-03-21</td> </tr> <tr> <td>SPVM-HTTP-Tiny-0.008</td> <td>KIMOTO</td> <td>2025-03-21</td> </tr> <tr> <td>SPVM-0.990049</td> <td>KIMOTO</td> <td>2025-03-21</td> </tr> <tr> <td>App-ipinfo-1.011_01</td> <td>BDFOY</td> <td>2025-03-20</td> </tr> <tr> <td>DBIx-Class-Schema-Loader-0.07053</td> <td>VEESH</td> <td>2025-03-20</td> </tr> <tr> <td>Net-RDAP-0.36</td> <td>GBROWN</td> <td>2025-03-19</td> </tr> <tr> <td>App-rdapper-1.10</td> <td>GBROWN</td> <td>2025-03-19</td> </tr> <tr> <td>FU-0.4</td> <td>YORHEL</td> <td>2025-03-19</td> </tr> <tr> <td>kw-gamekit-0.1.1</td> <td>KOBOLDWIZ</td> <td>2025-03-19</td> </tr> <tr> <td>XS-libpanda-backtrace-1.1.1</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>XS-libpanda-1.5.11</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>XS-libcares-1.34.3.0</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>XS-Framework-1.6.0</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>UniEvent-WebSocket-1.0.3</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>UniEvent-Socks-1.0.2</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>UniEvent-HTTP-Manager-1.1.3</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>UniEvent-HTTP-1.2.3</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>UniEvent-1.2.14</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>URI-XS-2.1.7</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>URI-Router-0.1.4</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>Test-Catch-2.0.2</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>Protocol-WebSocket-Fast-1.2.9</td> <td>SYBER</td> <td>2025-03-18</td> </tr> <tr> <td>Protocol-HTTP-1.1.6</td> <td>SYBER</td> <td>2025-03-18</td> </tr> </tbody> </table> </div> </section> </div> <div class="sidebar hidden-xs col-sm-2 col-md-2 col-lg-2"> <div class="dropdown"> <a href="#" class="dropdown-toggle" id="sidebar_core_metrics" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Core Metrics <span class="caret"></span> </a> <ul class="dropdown-menu small" aria-labelledby="sidebar_core_metrics"> <li class="small"><a href="/kwalitee/extractable">extractable</a></li> <li class="small"><a href="/kwalitee/extracts_nicely">extracts nicely</a></li> <li class="small"><a href="/kwalitee/no_pax_headers">no pax headers</a></li> <li class="small"><a href="/kwalitee/meta_yml_is_parsable">meta yml is parsable</a></li> <li class="small"><a href="/kwalitee/meta_json_is_parsable">meta json is parsable</a></li> <li class="small"><a href="/kwalitee/meta_yml_conforms_to_known_spec">meta yml conforms to known spec</a></li> <li class="small"><a href="/kwalitee/meta_json_conforms_to_known_spec">meta json conforms to known spec</a></li> <li class="small"><a href="/kwalitee/has_readme">has readme</a></li> <li class="small"><a href="/kwalitee/has_manifest">has manifest</a></li> <li class="small"><a href="/kwalitee/has_meta_yml">has meta yml</a></li> <li class="small"><a href="/kwalitee/has_buildtool">has buildtool</a></li> <li class="small"><a href="/kwalitee/has_changelog">has changelog</a></li> <li class="small"><a href="/kwalitee/no_files_to_be_skipped">no files to be skipped</a></li> <li class="small"><a href="/kwalitee/no_symlinks">no symlinks</a></li> <li class="small"><a href="/kwalitee/has_tests">has tests</a></li> <li class="small"><a href="/kwalitee/has_version">has version</a></li> <li class="small"><a href="/kwalitee/has_proper_version">has proper version</a></li> <li class="small"><a href="/kwalitee/distname_matches_name_in_meta">distname matches name in meta</a></li> <li class="small"><a href="/kwalitee/buildtool_not_executable">buildtool not executable</a></li> <li class="small"><a href="/kwalitee/no_generated_files">no generated files</a></li> <li class="small"><a href="/kwalitee/portable_filenames">portable filenames</a></li> <li class="small"><a href="/kwalitee/no_mymeta_files">no mymeta files</a></li> <li class="small"><a href="/kwalitee/no_broken_module_install">no broken module install</a></li> <li class="small"><a href="/kwalitee/no_broken_auto_install">no broken auto install</a></li> <li class="small"><a href="/kwalitee/has_human_readable_license">has human readable license</a></li> <li class="small"><a href="/kwalitee/has_license_in_source_file">has license in source file</a></li> <li class="small"><a href="/kwalitee/manifest_matches_dist">manifest matches dist</a></li> <li class="small"><a href="/kwalitee/has_abstract_in_pod">has abstract in pod</a></li> <li class="small"><a href="/kwalitee/use_strict">use strict</a></li> <li class="small"><a href="/kwalitee/prereq_matches_use">prereq matches use</a></li> <li class="small"><a href="/kwalitee/main_module_version_matches_dist_version">main module version matches dist version</a></li> <li class="small"><a href="/kwalitee/no_pod_errors">no pod errors</a></li> </ul> </div> <div class="dropdown"> <a href="#" class="dropdown-toggle" id="sidebar_extra_metrics" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Extra Metrics <span class="caret"></span> </a> <ul class="dropdown-menu small" aria-labelledby="sidebar_extra_metrics"> <li class="small"><a href="/kwalitee/valid_signature">valid signature</a></li> <li class="small"><a href="/kwalitee/meta_yml_declares_perl_version">meta yml declares perl version</a></li> <li class="small"><a href="/kwalitee/has_meta_json">has meta json</a></li> <li class="small"><a href="/kwalitee/has_tests_in_t_dir">has tests in t dir</a></li> <li class="small"><a href="/kwalitee/no_stdin_for_prompting">no stdin for prompting</a></li> <li class="small"><a href="/kwalitee/no_maniskip_error">no maniskip error</a></li> <li class="small"><a href="/kwalitee/no_dot_underscore_files">no dot underscore files</a></li> <li class="small"><a href="/kwalitee/no_dot_dirs">no dot dirs</a></li> <li class="small"><a href="/kwalitee/no_local_dirs">no local dirs</a></li> <li class="small"><a href="/kwalitee/proper_libs">proper libs</a></li> <li class="small"><a href="/kwalitee/no_missing_files_in_provides">no missing files in provides</a></li> <li class="small"><a href="/kwalitee/meta_yml_has_license">meta yml has license</a></li> <li class="small"><a href="/kwalitee/has_known_license_in_source_file">has known license in source file</a></li> <li class="small"><a href="/kwalitee/no_abstract_stub_in_pod">no abstract stub in pod</a></li> <li class="small"><a href="/kwalitee/use_warnings">use warnings</a></li> <li class="small"><a href="/kwalitee/no_unauthorized_packages">no unauthorized packages</a></li> <li class="small"><a href="/kwalitee/test_prereq_matches_use">test prereq matches use</a></li> <li class="small"><a href="/kwalitee/no_invalid_versions">no invalid versions</a></li> <li class="small"><a href="/kwalitee/consistent_version">consistent version</a></li> </ul> </div> <div class="dropdown"> <a href="#" class="dropdown-toggle" id="sidebar_experimental_metrics" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Experimental <span class="caret"></span> </a> <ul class="dropdown-menu small" aria-labelledby="sidebar_experimental_metrics"> <li class="small"><a href="/kwalitee/meta_yml_has_provides">meta yml has provides</a></li> <li class="small"><a href="/kwalitee/meta_yml_has_repository_resource">meta yml has repository resource</a></li> <li class="small"><a href="/kwalitee/has_separate_license_file">has separate license file</a></li> <li class="small"><a href="/kwalitee/configure_prereq_matches_use">configure prereq matches use</a></li> <li class="small"><a href="/kwalitee/has_security_doc">has security doc</a></li> <li class="small"><a href="/kwalitee/security_doc_contains_contact">security doc contains contact</a></li> <li class="small"><a href="/kwalitee/has_contributing_doc">has contributing doc</a></li> </ul> </div> </div> </div> </div> <div class="row"> <div id="footer" class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <address>Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on <a href="https://github.com/cpants/www-cpants/issues">GitHub</a>.</address> <p>Last analyzed: 2025-03-30 20:09:53</p> </div> </div> </div> <script src="/jquery/jquery.min.js"></script> <script src="/bootstrap/js/bootstrap.min.js"></script> <script src="/datatables/js/jquery.dataTables.js"></script> <script src="/datatables-responsive/js/dataTables.responsive.js"></script> <script src="/sprintf-js/sprintf.min.js"></script> <script src="/strftime/strftime-min.js"></script> <script>//<![CDATA[ $(function() { $.extend($.fn.dataTable.defaults, { "processing": true, "info": false, "ordering": false, "paging": false, "pageLength": 25, "lengthChange": false, "searching": false, "deferRender": true }); }); //]]></script> <script>//<![CDATA[ $(function(){ $('#stats').dataTable({ }); }); //]]></script> <script>//<![CDATA[ $(function(){ $('#fails').dataTable({ "ajax": "https://api.cpanauthors.org/v5/kwalitee/use_warnings/fail", "serverSide": true, "deferLoading": 12140, "columns": [ {"data": "name_version", "render": function(data,type,row){ return type === 'display' ? '<a href="/release/'+row.author+'/'+data+'">'+data+'</a>' : data; }}, {"data": "author", "render": function(data,type,row){ return type === 'display' ? '<a href="/author/'+data+'">'+data+'</a>' : data; }}, {"data": "date", "render": function(data,type,row){ return type === 'display' ? strftime('%F', new Date(data)) : data; }} ], "info": true, "paging": true }); }); //]]></script> <hr> </body> </html>