CINXE.COM
assertions - select assertions in blocks of code - metacpan.org
<!DOCTYPE html> <html lang="en-US"> <head> <title>assertions - select assertions in blocks of code - 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 assertions - MetaCPAN" href="/dist/assertions/releases.rss" /> <link rel="canonical" href="https://metacpan.org/pod/assertions" /> <meta name="description" content="select assertions in blocks of code" /> <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/assertions" /> <meta property="og:title" content="assertions" /> <meta property="og:description" content="select assertions in blocks of code" /> <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 assertions was released."> <span class="relatize">14 Jun 2005 11:25:53 UTC</span> </div> </li> <li> Distribution: <a href="/dist/assertions">assertions</a> </li> <li> Module version: 0.03 </li> <li> <a data-keyboard-shortcut="g s" href="/dist/assertions/source/lib/assertions.pm">Source</a> (<a href="/dist/assertions/source/lib/assertions.pm?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g b" href="/dist/assertions/source/lib">Browse</a> (<a href="/dist/assertions/source/lib?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g c" href="/dist/assertions/changes">Changes</a> </li> <li> <a class="nopopup" href="/dist/assertions/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=assertions">Issues</a> </li> <li> <a rel="noopener nofollow" href="http://matrix.cpantesters.org/?dist=assertions+0.03" title="Matrix">Testers</a> <span title="(pass / fail / na)">(<a rel="noopener nofollow" href="https://www.cpantesters.org/distro/a/assertions.html?oncpan=1&distmat=1&version=0.03&grade=2" style="color: #090">25</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/a/assertions.html?oncpan=1&distmat=1&version=0.03&grade=3" style="color: #900">0</a> / <a rel="noopener nofollow" href="https://www.cpantesters.org/distro/a/assertions.html?oncpan=1&distmat=1&version=0.03&grade=4">0</a>)</span> </li> <li> <a rel="noopener nofollow" href="http://cpants.cpanauthors.org/release/SALVA/assertions-0.03">Kwalitee</a> </li> <li> <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The # people with an indexing permission on assertions 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: 1 </div> </li> <li> <a rel="noopener nofollow" href="http://cpancover.com/latest/assertions-0.03/index.html">81.77% Coverage </a> </li> <li> License: unknown </li> <li class="nav-header">Activity</li> <li> <div class="activity-graph"> <img src="/dist/assertions/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/S/SA/SALVA/assertions-0.03.tar.gz"> Download (<span itemprop="fileSize">6.72KB</span>)</a> </li> <li> <a href="https://explorer.metacpan.org/?url=%2Fmodule%2FSALVA%2Fassertions-0.03%2Flib%2Fassertions.pm"> MetaCPAN Explorer </a> </li> <li> <a href="/dist/assertions/permissions"> Permissions </a> </li> <li> <a href="/dist/assertions/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:assertions"> <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="assertions"> <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> <select class="form-control tool-bar-form" style="font-style: italic" disabled="disabled"> <option>No other versions</option> </select> </li> <li> <ul class="dependencies"> <li class="nav-header">Dependencies</li> <li><i class="ttip" title="dynamic_config enabled">unknown</i></li> <li> <hr> </li> <li> <a href="/module/assertions/requires">Reverse dependencies</a> </li> <li> <a href="http://deps.cpantesters.org/?module=assertions">CPAN Testers List</a> </li> <li> <a href="https://cpandeps.grinnz.com/?dist=assertions">Dependency graph</a> </li> </ul> </li> <li class="nav-header">Permalinks</li> <li> <a href="/release/SALVA/assertions-0.03/view/lib/assertions.pm">This version</a> </li> <li> <a href="/pod/assertions">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/SALVA" class="author-name">Salvador Fandi帽o Garc铆a</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/SALVA/assertions-0.03/view/lib/assertions.pm" >0.03 (SALVA on 2005-06-14)</option> </select> <a data-keyboard-shortcut="g d" class="release-name" href="/dist/assertions">assertions-0.03</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 zero No dependents </title> <rect x="0" y="0" width="4" height="15" fill="#e4e2e2" /> <rect x="5" y="0" width="4" height="15" fill="#e4e2e2" /> <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="assertions-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="assertions-0.03"> <input type="hidden" name="author" value="SALVA"> <input type="hidden" name="distribution" value="assertions"> <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>assertions</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> <ul> <li><a href="#Selecting-assertions">Selecting assertions</a></li> <li><a href="#Handling-assertions-your-own-way">Handling assertions your own way</a></li> </ul> </li> <li><a href="#COMPATIBILITY">COMPATIBILITY</a></li> <li><a href="#SEE-ALSO">SEE ALSO</a></li> <li><a href="#AUTHOR">AUTHOR</a></li> <li><a href="#COPYRIGHT-AND-LICENSE">COPYRIGHT AND LICENSE</a></li> </ul></nav> <div class="pod anchors"> <h1 id="NAME">NAME</h1> <p>assertions - select assertions in blocks of code</p> <h1 id="SYNOPSIS">SYNOPSIS</h1> <pre><code>sub assert (&) : assertion { &{$_[0]}() } use assertions 'foo'; assert { print "asserting 'foo'\n" }; { use assertions qw( foo bar ); assert { print "asserting 'foo' and 'bar'\n" }; } { use assertions qw( bar ); assert { print "asserting only 'bar'\n" }; } { use assertions '_ && bar'; assert { print "asserting 'foo' && 'bar'\n" }; } assert { print "asserting 'foo' again\n" };</code></pre> <h1 id="DESCRIPTION">DESCRIPTION</h1> <pre><code>*** WARNING: assertion support is only available from perl version *** 5.9.0 and upwards. Check assertions::compat (also available from *** this package) for an alternative backwards compatible module.</code></pre> <p>The <code>assertions</code> pragma specifies the tags used to enable and disable the execution of assertion subroutines.</p> <p>An assertion subroutine is declared with the <code>:assertion</code> attribute. This subroutine is not normally executed: it's optimized away by perl at compile-time.</p> <p>The <code>assertions</code> pragma associates to its lexical scope one or several assertion tags. Then, to activate the execution of the assertions subroutines in this scope, these tags must be given to perl via the <b>-A</b> command-line option. For instance, if...</p> <pre><code>use assertions 'foobar';</code></pre> <p>is used, assertions on the same lexical scope will only be executed when perl is called as...</p> <pre><code>perl -A=foobar script.pl</code></pre> <p>Regular expressions can also be used within the -A switch. For instance...</p> <pre><code>perl -A='foo.*' script.pl</code></pre> <p>will activate assertions tagged as <code>foo</code>, <code>foobar</code>, <code>foofoo</code>, etc.</p> <h2 id="Selecting-assertions"><a id="Selecting"></a>Selecting assertions</h2> <p>Selecting which tags are required to activate assertions inside a lexical scope, is done with the arguments passed on the <code>use assertions</code> sentence.</p> <p>If no arguments are given, the package name is used as the assertion tag:</p> <pre><code>use assertions;</code></pre> <p>is equivalent to</p> <pre><code>use assertions __PACKAGE__;</code></pre> <p>When several tags are given, all of them have to be activated via the <code>-A</code> switch to activate assertion execution on that lexical scope, i.e.:</p> <pre><code>use assertions qw(Foo Bar);</code></pre> <p>Constants <code>1</code> and <code>0</code> can be used to force unconditional activation or deactivation respectively:</p> <pre><code>use assertions '0'; use assertions '1';</code></pre> <p>Operators <code>&&</code> and <code>||</code> and parenthesis <code>(...)</code> can be used to construct logical expressions:</p> <pre><code>use assertions 'foo && bar'; use assertions 'foo || bar'; use assertions 'foo && (bar || doz)';</code></pre> <p>(note that the logical operators and the parens have to be included inside the quoted string).</p> <p>Finally, the special tag <code>_</code> refers to the current assertion activation state:</p> <pre><code>use assertions 'foo'; use assertions '_ && bar;</code></pre> <p>is equivalent to</p> <pre><code>use assertions 'foo && bar';</code></pre> <h2 id="Handling-assertions-your-own-way"><a id="Handling"></a>Handling assertions your own way</h2> <p>The <code>assertions</code> module also provides a set of low level functions to allow for custom assertion handling modules.</p> <p>Those functions are not exported and have to be fully qualified with the package name when called, for instance:</p> <pre><code>require assertions; assertions::enabled(1);</code></pre> <p>(note that <code>assertions</code> is loaded with the <code>require</code> keyword to avoid calling <code>assertions::import()</code>).</p> <p>Those functions have to be called at compile time (they are useless at runtime).</p> <dl> <dt id="enabled($on)"><a id="enabled"></a><a id="enabled-on"></a>enabled($on)</dt> <dd> <p>activates or deactivates assertion execution. For instance:</p> <pre><code>package assertions::always; require assertions; sub import { assertions::enabled(1) } 1;</code></pre> <p>This function calls <code>assertion::seen(1)</code> also (see below).</p> </dd> <dt id="enabled()"><a id="enabled1"></a>enabled()</dt> <dd> <p>returns a true value when assertion execution is active.</p> </dd> <dt id="seen($on)"><a id="seen"></a><a id="seen-on"></a>seen($on)</dt> <dd> <p>A warning is generated when an assertion subroutine is found before any assertion selection code. This function is used to just tell perl that assertion selection code has been seen and that the warning is not required for the currently compiling lexical scope.</p> </dd> <dt id="seen()"><a id="seen1"></a>seen()</dt> <dd> <p>returns true if any assertion selection module (or code) has been called before on the currently compiling lexical scope.</p> </dd> </dl> <h1 id="COMPATIBILITY">COMPATIBILITY</h1> <p>Support for assertions is only available in perl from version 5.9. On previous perl versions this module will do nothing, though it will not harm either.</p> <p><a href="/pod/assertions::compat">assertions::compat</a> provides an alternative way to use assertions compatible with lower versions of perl.</p> <h1 id="SEE-ALSO"><a id="SEE"></a>SEE ALSO</h1> <p><a href="/pod/perlrun">perlrun</a>, <a href="/pod/assertions::activate">assertions::activate</a>, <a href="/pod/assertions::compat">assertions::compat</a>.</p> <h1 id="AUTHOR">AUTHOR</h1> <p>Salvador Fandiño, <sfandino@yahoo.com></p> <h1 id="COPYRIGHT-AND-LICENSE"><a id="COPYRIGHT"></a>COPYRIGHT AND LICENSE</h1> <p>Copyright 2002, 2005 by Salvador Fandiño</p> <p>This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.</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 assertions, 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 assertions</code></pre> <p><a href="/pod/CPAN">CPAN shell</a></p> <pre><code>perl -MCPAN -e shell install assertions</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>