CINXE.COM
Test::Unit - the PerlUnit testing framework - metacpan.org
<!DOCTYPE html> <html lang="en-US"> <head> <title>Test::Unit - the PerlUnit testing framework - metacpan.org</title> <link rel="preload" as="fetch" href="/account/login_status" crossorigin="anonymous" /> <link href="/assets/style-XFEQ536G.css" rel="stylesheet" type="text/css"> <script src="/assets/main-WXBSEDQJ.js" type="module"></script> <link rel="alternate" type="application/rss+xml" title="Recent CPAN Uploads of Test-Unit - MetaCPAN" href="/dist/Test-Unit/releases.rss" /> <link rel="canonical" href="https://metacpan.org/pod/Test::Unit" /> <meta name="description" content="the PerlUnit testing framework" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"> <link rel="shortcut icon" href="/static/icons/favicon.ico"> <link rel="apple-touch-icon" sizes="152x152" href="/static/icons/apple-touch-icon.png"> <link rel="search" href="/static/opensearch.xml" type="application/opensearchdescription+xml" title="MetaCPAN"> <script async src="https://perl-ads.perlhacks.com/perl-ads.js"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-E82Q2V8LVD"></script> <meta property="og:site_name" content="MetaCPAN" /> <meta name="twitter:site" content="@metacpan" /> <meta property="og:type" content="article" /> <meta name="twitter:card" content="summary" /> <meta property="og:url" content="https://metacpan.org/pod/Test::Unit" /> <meta property="og:title" content="Test::Unit" /> <meta property="og:description" content="the PerlUnit testing framework" /> <meta property="og:image" content="https://metacpan.org/static/images/dots.png" /> </head> <body> <nav class="navbar navbar-default" role="navigation"> <div class="header-logo-large hidden-xs"> <a href="/" tabindex="0"> <svg class="logo" aria-label="MetaCPAN"> <use class="logo" href="/static/images/metacpan-logo.svg#logo" /> </svg> </a> </div> <div class="header-logo-icon visible-xs"> <a href="/"> <svg class="logo" aria-label="MetaCPAN"> <use class="logo" href="/static/images/metacpan-logo.svg#dots" /> </svg> </a> </div> <ul class="nav navbar-nav menu-items hidden-xs hidden-sm"> <li><a href="/about">About</a></li> <li><a href="/about/sponsors">Sponsor</a></li> <li><a href="https://grep.metacpan.org/">grep::cpan</a></li> <li><a href="/recent">Recent</a></li> <li><a href="/about/faq">FAQ</a></li> <li><a href="/tools">Tools</a></li> <li><a href="https://fastapi.metacpan.org/">API</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <button type="button" class="searchbar-btn visible-xs visible-sm"> <i class="fa fa-search button-fa-icon"></i> </button> <form action="/search" class="searchbar-form visible-md visible-lg search-form form-horizontal"> <input type="hidden" name="size" id="metacpan_search-size" value="20"> <div class="form-group"> <div class="search-group"> <i class="fa fa-search"></i> <input type="text" name="q" placeholder="Search the CPAN" size="41" autocorrect="off" autocapitalize="off" spellcheck="false" id="metacpan_search-input" class="form-control" value=""> </div> </div> </form> <li class="icon-slidepanel visible-xs visible-sm"> <button data-toggle="slidepanel" data-target=".slidepanel"> <span class="button-fa-icon"> <i class="fa fa-bars slidepanel-open"></i> <i class="fa fa-times slidepanel-close"></i> </span> </button> </li> <li class="dropdown login-dropdown show-logged-in"> <button type="button" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-user button-fa-icon logged-in-icon" aria-hidden="true"></i> <i class="fas fa-chevron-down"></i> </button> <ul class="dropdown-menu"> <li><a href="/account/identities">Identities</a></li> <li><a href="/account/profile">Profile</a></li> <li><a href="/account/favorite/list">Favorites</a></li> <li> <a href="#" type="button" class="logout-button"> Logout </a> </li> </ul> </li> <li class="dropdown login-dropdown show-logged-out"> <button type="button" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-user button-fa-icon avatar-placeholder" aria-hidden="true"></i> <i class="fas fa-chevron-down"></i> </button> <ul class="dropdown-menu"> <li> <a href="/login/github"> <i class="fab fa-github fa-fw"></i> GitHub </a> </li> <li> <a href="/login/twitter"> <i class="fab fa-twitter fa-fw"></i> Twitter </a> </li> <li> <a href="/login/google"> <i class="fab fa-google fa-fw"></i> Google </a> </li> </ul> </li> <li class="dropdown login-dropdown hide-logged-in hide-logged-out"> <button> <i class="fa fa-user button-fa-icon" aria-hidden="true"></i> </button> </li> </ul> </nav> <div class="page-content "> <div id="perl-ad-target" class="top-notify-banner perl-ad-target"> </div> <nav class="sidebar"> <div class="slidepanel"> <ul class="nav-list "> <li class="nav-header no-margin-top"> <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The date that this version of Test-Unit was released."> <span class="relatize">27 Jun 2024 19:25:24 UTC</span> </div> </li> <li> Distribution: <a href="/dist/Test-Unit">Test-Unit</a> </li> <li> Module version: 0.27 </li> <li> <a data-keyboard-shortcut="g s" href="/dist/Test-Unit/source/lib/Test/Unit.pm">Source</a> (<a href="/dist/Test-Unit/source/lib/Test/Unit.pm?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g b" href="/dist/Test-Unit/source/lib/Test">Browse</a> (<a href="/dist/Test-Unit/source/lib/Test?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g c" href="/dist/Test-Unit/changes">Changes</a> </li> <li> <a class="nopopup" href="/dist/Test-Unit/contribute">How to Contribute</a> </li> <li> <a rel="noopener nofollow" data-keyboard-shortcut="g i" href="https://rt.cpan.org/Public/Dist/Display.html?Name=Test-Unit">Issues</a> (14) </li> <li> <a rel="noopener nofollow" href="http://matrix.cpantesters.org/?dist=Test-Unit+0.27" title="Matrix">Testers</a> <span title="(pass / fail / na)">(<a rel="noopener nofollow" href="https://www.cpantesters.org/distro/T/Test-Unit.html?oncpan=1&distmat=1&version=0.27&grade=2" style="color: #090">1</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/T/Test-Unit.html?oncpan=1&distmat=1&version=0.27&grade=3" style="color: #900">0</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/T/Test-Unit.html?oncpan=1&distmat=1&version=0.27&grade=4">0</a>)</span> </li> <li> <a rel="noopener nofollow" href="http://cpants.cpanauthors.org/release/RJBS/Test-Unit-0.27">Kwalitee</a> </li> <li> <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The # people with an indexing permission on Test-Unit who have released something to CPAN in the last 2 years (i.e. the # people likely able to release critical fixes in a timely manner)"> Bus factor: 2 </div> </li> <li> License: unknown </li> <li class="nav-header">Activity</li> <li> <div class="activity-graph"> <img src="/dist/Test-Unit/activity.svg?res=month" /> <div class="comment">24 month</div> </div> </li> <li class="nav-header">Tools</li> <li> <a itemprop="downloadUrl" href="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Unit-0.27.tar.gz"> Download (<span itemprop="fileSize">317.51KB</span>)</a> </li> <li> <a href="https://explorer.metacpan.org/?url=%2Fmodule%2FRJBS%2FTest-Unit-0.27%2Flib%2FTest%2FUnit.pm"> MetaCPAN Explorer </a> </li> <li> <a href="/dist/Test-Unit/permissions"> Permissions </a> </li> <li> <a href="/dist/Test-Unit/releases.rss"> Subscribe to distribution </a> </li> <li> <button class="btn btn-link" data-toggle="modal" data-target="#metacpan_install-instructions-dialog"> Install Instructions </button> </li> <li> <form action="/search"> <input type="hidden" name="q" value="dist:Test-Unit"> <input type="search" name="q" placeholder="Search distribution" class="form-control tool-bar-form"> <input type="submit" style="display: none"> </form> </li> <li> <form action="https://grep.metacpan.org/search"> <input type="hidden" name="qd" value="Test-Unit"> <input type="hidden" name="source" value="metacpan"> <input type="search" name="q" placeholder="grep distribution" class="form-control tool-bar-form"> <input type="submit" style="display: none"> </form> </li> <li class="version-jump"> <select class="select-navigator form-control tool-bar-form"> <option disabled selected>Jump to version</option> <option disabled value="/release/RJBS/Test-Unit-0.27/view/lib/Test/Unit.pm" >0.27 (RJBS on 2024-06-27)</option> <option value="/release/RJBS/Test-Unit-0.26/view/lib/Test/Unit.pm" >0.26 (RJBS on 2024-06-27)</option> <option value="/release/AMALTSEV/Test-Unit-0.27/view/lib/Test/Unit.pm" >0.27 (AMALTSEV on 2017-09-03)</option> <option value="/release/MCAST/Test-Unit-0.25_1325/view/lib/Test/Unit.pm" >0.25_1325 DEV (MCAST on 2011-06-08)</option> <option value="/release/MCAST/Test-Unit-0.25/view/lib/Test/Unit.pm" >0.25 (MCAST on 2005-10-15)</option> <option value="/release/ASPIERS/Test-Unit-0.24/view/lib/Test/Unit.pm" >0.24 (ASPIERS on 2002-06-14)</option> <option value="/release/CLEMBURG/Test-Unit-0.14/view/lib/Test/Unit.pm" >0.14 (CLEMBURG on 2001-06-18)</option> <option value="/release/CLEMBURG/Test-Unit-0.13/view/lib/Test/Unit.pm" >0.13 (CLEMBURG on 2001-02-17)</option> <option value="/release/CLEMBURG/Test-Unit-0.12/view/lib/Test/Unit.pm" >0.12 (CLEMBURG on 2001-02-06)</option> <option value="/release/CLEMBURG/Test-Unit-0.11/view/lib/Test/Unit.pm" >0.11 (CLEMBURG on 2000-07-10)</option> <option value="/release/CLEMBURG/Test-Unit-0.1/view/lib/Test/Unit.pm" >0.1 (CLEMBURG on 2000-07-01)</option> <option value="/release/CLEMBURG/Test-Unit-0.06/view/lib/Test/Unit.pm" >0.06 (CLEMBURG on 2000-02-13)</option> <optgroup label="BackPAN">' <option value="/release/AMALTSEV/Test-Unit-0.26/view/lib/Test/Unit.pm" >0.26 (AMALTSEV on 2017-08-24)</option> <option value="/release/MCAST/Test-Unit-0.25_0922/view/lib/Test/Unit.pm" >0.25_0922 DEV (MCAST on 2011-06-07)</option> <option value="/release/ASPIERS/Test-Unit-0.23/view/lib/Test/Unit.pm" >0.23 (ASPIERS on 2002-06-13)</option> </optgroup> </select> </li> <li class="version-diff"> <select class="select-navigator form-control tool-bar-form"> <option disabled selected>Diff with version</option> <option disabled value="/release/RJBS/Test-Unit-0.27/diff/RJBS/Test-Unit-0.27/lib/Test/Unit.pm" >0.27 (RJBS on 2024-06-27)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/RJBS/Test-Unit-0.26/lib/Test/Unit.pm" >0.26 (RJBS on 2024-06-27)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/AMALTSEV/Test-Unit-0.27/lib/Test/Unit.pm" >0.27 (AMALTSEV on 2017-09-03)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/MCAST/Test-Unit-0.25_1325/lib/Test/Unit.pm" >0.25_1325 DEV (MCAST on 2011-06-08)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/MCAST/Test-Unit-0.25/lib/Test/Unit.pm" >0.25 (MCAST on 2005-10-15)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/ASPIERS/Test-Unit-0.24/lib/Test/Unit.pm" >0.24 (ASPIERS on 2002-06-14)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/CLEMBURG/Test-Unit-0.14/lib/Test/Unit.pm" >0.14 (CLEMBURG on 2001-06-18)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/CLEMBURG/Test-Unit-0.13/lib/Test/Unit.pm" >0.13 (CLEMBURG on 2001-02-17)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/CLEMBURG/Test-Unit-0.12/lib/Test/Unit.pm" >0.12 (CLEMBURG on 2001-02-06)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/CLEMBURG/Test-Unit-0.11/lib/Test/Unit.pm" >0.11 (CLEMBURG on 2000-07-10)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/CLEMBURG/Test-Unit-0.1/lib/Test/Unit.pm" >0.1 (CLEMBURG on 2000-07-01)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/CLEMBURG/Test-Unit-0.06/lib/Test/Unit.pm" >0.06 (CLEMBURG on 2000-02-13)</option> <optgroup label="BackPAN">' <option value="/release/RJBS/Test-Unit-0.27/diff/AMALTSEV/Test-Unit-0.26/lib/Test/Unit.pm" >0.26 (AMALTSEV on 2017-08-24)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/MCAST/Test-Unit-0.25_0922/lib/Test/Unit.pm" >0.25_0922 DEV (MCAST on 2011-06-07)</option> <option value="/release/RJBS/Test-Unit-0.27/diff/ASPIERS/Test-Unit-0.23/lib/Test/Unit.pm" >0.23 (ASPIERS on 2002-06-13)</option> </optgroup> </select> </li> <li> <ul class="dependencies"> <li class="nav-header">Dependencies</li> <li><a href="/pod/Class::Inner" title="Class::Inner" class="ellipsis">Class::Inner</a></li> <li><a href="/pod/Devel::Symdump" title="Devel::Symdump" class="ellipsis">Devel::Symdump</a></li> <li><a href="/pod/Error" title="Error" class="ellipsis">Error</a></li> <li><a href="/pod/base" title="base" class="ellipsis">base</a></li> <li><i class="ttip" title="dynamic_config enabled">and possibly others</i></li> <li> <hr> </li> <li> <a href="/module/Test::Unit/requires">Reverse dependencies</a> </li> <li> <a href="http://deps.cpantesters.org/?module=Test%3A%3AUnit">CPAN Testers List</a> </li> <li> <a href="https://cpandeps.grinnz.com/?dist=Test-Unit">Dependency graph</a> </li> </ul> </li> <li class="nav-header">Permalinks</li> <li> <a href="/release/RJBS/Test-Unit-0.27/view/lib/Test/Unit.pm">This version</a> </li> <li> <a href="/pod/Test::Unit">Latest version</a> </li> <li> </li> <li> </li> </ul> </div> </nav> <div class="content-navigation"> <div class="breadcrumbs"> <span> <a data-keyboard-shortcut="g a" rel="author" href="/author/RJBS" class="author-name">Ricardo SIGNES 🙂</a> </span> <span> / </span> <div class="release dist-release status-latest maturity-released"> <span class="dropdown"><b class="caret"></b></span> <select class="select-navigator "> <option selected value="/release/RJBS/Test-Unit-0.27/view/lib/Test/Unit.pm" >0.27 (RJBS on 2024-06-27)</option> <option value="/release/RJBS/Test-Unit-0.26/view/lib/Test/Unit.pm" >0.26 (RJBS on 2024-06-27)</option> <option value="/release/AMALTSEV/Test-Unit-0.27/view/lib/Test/Unit.pm" >0.27 (AMALTSEV on 2017-09-03)</option> <option value="/release/MCAST/Test-Unit-0.25_1325/view/lib/Test/Unit.pm" >0.25_1325 DEV (MCAST on 2011-06-08)</option> <option value="/release/MCAST/Test-Unit-0.25/view/lib/Test/Unit.pm" >0.25 (MCAST on 2005-10-15)</option> <option value="/release/ASPIERS/Test-Unit-0.24/view/lib/Test/Unit.pm" >0.24 (ASPIERS on 2002-06-14)</option> <option value="/release/CLEMBURG/Test-Unit-0.14/view/lib/Test/Unit.pm" >0.14 (CLEMBURG on 2001-06-18)</option> <option value="/release/CLEMBURG/Test-Unit-0.13/view/lib/Test/Unit.pm" >0.13 (CLEMBURG on 2001-02-17)</option> <option value="/release/CLEMBURG/Test-Unit-0.12/view/lib/Test/Unit.pm" >0.12 (CLEMBURG on 2001-02-06)</option> <option value="/release/CLEMBURG/Test-Unit-0.11/view/lib/Test/Unit.pm" >0.11 (CLEMBURG on 2000-07-10)</option> <option value="/release/CLEMBURG/Test-Unit-0.1/view/lib/Test/Unit.pm" >0.1 (CLEMBURG on 2000-07-01)</option> <option value="/release/CLEMBURG/Test-Unit-0.06/view/lib/Test/Unit.pm" >0.06 (CLEMBURG on 2000-02-13)</option> <optgroup label="BackPAN">' <option value="/release/AMALTSEV/Test-Unit-0.26/view/lib/Test/Unit.pm" >0.26 (AMALTSEV on 2017-08-24)</option> <option value="/release/MCAST/Test-Unit-0.25_0922/view/lib/Test/Unit.pm" >0.25_0922 DEV (MCAST on 2011-06-07)</option> <option value="/release/ASPIERS/Test-Unit-0.23/view/lib/Test/Unit.pm" >0.23 (ASPIERS on 2002-06-13)</option> </optgroup> </select> <a data-keyboard-shortcut="g d" class="release-name" href="/dist/Test-Unit">Test-Unit-0.27</a> </div> <span class="river-gauge-gauge"> <svg width="24px" height="15px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g> <title> River stage two • 10 direct dependents • 11 total dependents </title> <rect x="0" y="0" width="4" height="15" fill="#7ea3f2" /> <rect x="5" y="0" width="4" height="15" fill="#7ea3f2" /> <rect x="10" y="0" width="4" height="15" fill="#e4e2e2" /> <rect x="15" y="0" width="4" height="15" fill="#e4e2e2" /> <rect x="20" y="0" width="4" height="15" fill="#e4e2e2" /> </g> </svg> </span> <div id="Test-Unit-fav" class="show-logged-in"> <form action="/account/favorite/add" style="display: inline" method="POST"> <input type="hidden" name="remove" value="0"> <input type="hidden" name="release" value="Test-Unit-0.27"> <input type="hidden" name="author" value="RJBS"> <input type="hidden" name="distribution" value="Test-Unit"> <button type="submit" class="favorite"><span></span> ++</button> </form> </div> <div class="show-logged-out"> <button class="fav-not-logged-in favorite"><span></span> ++</button> </div> / <span>Test::Unit</span> </div> </div> <main class="content"> <nav class="toc"> <div class="toc-header"><strong>Contents</strong></div> <ul> <li><a href="#NAME">NAME</a></li> <li><a href="#SYNOPSIS">SYNOPSIS</a></li> <li><a href="#DESCRIPTION">DESCRIPTION</a></li> <li><a href="#COPYRIGHT">COPYRIGHT</a></li> <li><a href="#SEE-ALSO">SEE ALSO</a></li> <li><a href="#FEEDBACK">FEEDBACK</a></li> </ul></nav> <div class="pod anchors"> <h1 id="NAME">NAME</h1> <p>Test::Unit - the PerlUnit testing framework</p> <h1 id="SYNOPSIS">SYNOPSIS</h1> <p>This package provides only the project version number, copyright texts, and a framework overview in POD format.</p> <h1 id="DESCRIPTION">DESCRIPTION</h1> <p>This framework is intended to support unit testing in an object-oriented development paradigm (with support for inheritance of tests etc.) and is derived from the JUnit testing framework for Java by Kent Beck and Erich Gamma. To start learning how to use this framework, see <a href="/pod/Test::Unit::TestCase">Test::Unit::TestCase</a> and <a href="/pod/Test::Unit::TestSuite">Test::Unit::TestSuite</a>. (There will also eventually be a tutorial in <a href="/pod/Test::Unit::Tutorial">Test::Unit::Tutorial</a>.</p> <p>However <code>Test::Unit::Procedural</code> is the procedural style interface to a sophisticated unit testing framework for Perl that . Test::Unit is intended to provide a simpler interface to the framework that is more suitable for use in a scripting style environment. Therefore, Test::Unit does not provide much support for an object-oriented approach to unit testing.</p> <h1 id="COPYRIGHT">COPYRIGHT</h1> <p>Copyright (c) 2000-2002, 2005 the PerlUnit Development Team (see the <i>AUTHORS</i> file included in this distribution).</p> <p>All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.</p> <p>That is, under the terms of either of:</p> <ul> <li><p>The GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.</p> <p>The text of version 2 is included in the PerlUnit distribution package as <i>COPYING.GPL-2</i>.</p> </li> <li><p>The "Artistic License" which comes with Perl.</p> <p>The text of this is included in the PerlUnit distribution package as <i>COPYING.Artistic</i>.</p> </li> </ul> <h1 id="SEE-ALSO"><a id="SEE"></a>SEE ALSO</h1> <ul> <li><p><a href="/pod/Test::Unit::TestCase">Test::Unit::TestCase</a></p> </li> <li><p><a href="/pod/Test::Unit::TestSuite">Test::Unit::TestSuite</a></p> </li> <li><p><a href="/pod/Test::Unit::Procedural">Test::Unit::Procedural</a></p> </li> </ul> <h1 id="FEEDBACK">FEEDBACK</h1> <p>The Perl Unit development team are humans. In part we develop stuff because it scratches our collective itch but we'd also really like to know if it scratches yours.</p> <p>Please subscribe to the perlunit-users mailing list at <a href="http://lists.sourceforge.net/lists/listinfo/perlunit-users">http://lists.sourceforge.net/lists/listinfo/perlunit-users</a> and let us know what you love and hate about PerlUnit and what else you want to do with it.</p></div> <div id="metacpan_install-instructions-dialog" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">Module Install Instructions</h4> </div> <div class="modal-body"> <p>To install Test::Unit, copy and paste the appropriate command in to your terminal.</p> <p><a href="/dist/App-cpanminus/view/bin/cpanm">cpanm</a></p> <pre><code>cpanm Test::Unit</code></pre> <p><a href="/pod/CPAN">CPAN shell</a></p> <pre><code>perl -MCPAN -e shell install Test::Unit</code></pre> <p>For more information on module installation, please visit <a href="https://www.cpan.org/modules/INSTALL.html">the detailed CPAN module installation guide</a>.</p> </div> <div class="modal-footer"> <a href="#" data-dismiss="modal" class="btn">Close</a> </div> </div> </div> </div> </main> <div class="content-pagination"> </div> </div> <footer class="footer"> <div class="footer-container"> <div class="footer-social"> <div class="footer-link footer-logo"> <a href="/"> <img src="/static/images/metacpan-logo.svg" alt="MetaCPAN" /> </a> </div> <a class="footer-social-link" href="https://github.com/metacpan"> <i class="fab fa-github-square"></i> </a> <a class="footer-social-link" href="https://fosstodon.org/@metacpan"> <i class="fab fa-mastodon"></i> </a> </div> <div class="footer-links"> <div class="footer-link"> <a href="/about">About</a> </div> <div class="footer-link"> <a href="/about/sponsors">Sponsor</a> </div> <div class="footer-link"> <a href="https://grep.metacpan.org">grep::cpan</a> </div> <div class="footer-link"> <a href="/recent">Recent</a> </div> <div class="footer-link"> <a href="/about/faq">FAQ</a> </div> <div class="footer-link"> <a href="/tools">Tools</a> </div> <div class="footer-link"> <a href="https://fastapi.metacpan.org/">API</a> </div> <div class="footer-link"> <a href="https://www.perl.org/">Perl.org</a> </div> </div> <div class="footer-sponsors"> <a class="footer-sponsor-link" target="_blank" href="https://www.bytemark.co.uk/" rel="noopener"> <img class="footer-sponsor-bytemark" src="/static/images/sponsors/bytemark_logo.svg" alt="Bytemark logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://www.liquidweb.com/" rel="noopener"> <img class="footer-sponsor-liquidweb" src="/static/images/sponsors/liquidweb_logo.png" alt="liquidweb logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://deriv.com/careers/" rel="noopener"> <img class="footer-sponsor-deriv" src="/static/images/sponsors/deriv.svg" alt="Deriv logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://geocode.xyz" rel="noopener"> <img class="footer-sponsor-geocode" src="/static/images/sponsors/geocodelogo.svg" alt="Geocode logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://www.fastly.com/" rel="noopener"> <img class="footer-sponsor-fastly" src="/static/images/sponsors/fastly_logo.svg" alt="Fastly logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://opencagedata.com" rel="noopener"> <img class="footer-sponsor-opencage" src="/static/images/sponsors/open-cage.svg" alt="OpenCage logo"> </a> <!-- Added 2024-07-22 --> <a class="footer-sponsor-link" target="_blank" href="https://www.elastic.co/" rel="noopener"> <img class="footer-sponsor-elastic" src="/static/images/sponsors/elastic.svg" alt="Elastic logo"> </a> <!-- Added 2024-07-22 --> <a class="footer-sponsor-link" target="_blank" href="https://route4me.com/" rel="noopener"> <img class="footer-sponsor-route4me" src="/static/images/sponsors/route4me.png" alt="Route4Me logo"> </a> </div> </div> </footer> <div class="modal fade" tabindex="-1" role="dialog" id="metacpan_keyboard-shortcuts"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Keyboard Shortcuts</h4> </div> <div class="modal-body row"> <div class="col-md-6"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>Global</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>s</kbd> </td> <td>Focus search bar</td> </tr> <tr> <td class="keys"> <kbd>?</kbd> </td> <td>Bring up this help dialog</td> </tr> </tbody> </table> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>GitHub</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>g</kbd> <kbd>p</kbd> </td> <td>Go to pull requests</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>i</kbd> </td> <td>go to github issues (only if github is preferred repository)</td> </tr> </tbody> </table> </div> <div class="col-md-6"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>POD</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>g</kbd> <kbd>a</kbd> </td> <td>Go to author</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>c</kbd> </td> <td>Go to changes</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>i</kbd> </td> <td>Go to issues</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>d</kbd> </td> <td>Go to dist</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>r</kbd> </td> <td>Go to repository/SCM</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>s</kbd> </td> <td>Go to source</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>b</kbd> </td> <td>Go to file browse</td> </tr> </tbody> </table> </div> <div class="col-md-12"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>Search terms</th> </tr> </thead> <tbody> <tr> <td><em>module:</em> (e.g. <a href="/search?q=module%3APlugin">module:Plugin</a>)</td> </tr> <tr> <td><em>distribution:</em> (e.g. <a href="/search?q=distribution%3ADancer+auth">distribution:Dancer auth</a>)</td> </tr> <tr> <td><em>author:</em> (e.g. <a href="/search?q=author%3ASONGMU+Redis">author:SONGMU Redis</a>)</td> </tr> <tr> <td><em>version:</em> (e.g. <a href="/search?q=version%3A1.00">version:1.00</a>)</td> </tr> </tbody> </table> </div> </div> <div class="modal-footer"></div> </div> </div> </div> </body> </html>