CINXE.COM
Dancer2 - Lightweight yet powerful web application framework - metacpan.org
<!DOCTYPE html> <html lang="en-US"> <head> <title>Dancer2 - Lightweight yet powerful web application 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 Dancer2 - MetaCPAN" href="/dist/Dancer2/releases.rss" /> <link rel="canonical" href="https://metacpan.org/pod/Dancer2" /> <meta name="description" content="Lightweight yet powerful web application 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/Dancer2" /> <meta property="og:title" content="Dancer2" /> <meta property="og:description" content="Lightweight yet powerful web application 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 Dancer2 was released."> <span class="relatize">25 Nov 2024 13:36:09 UTC</span> </div> </li> <li> Distribution: <a href="/dist/Dancer2">Dancer2</a> </li> <li> Module version: v1.1.2 </li> <li> <a data-keyboard-shortcut="g s" href="/dist/Dancer2/source/lib/Dancer2.pm">Source</a> (<a href="/dist/Dancer2/source/lib/Dancer2.pm?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g b" href="/dist/Dancer2/source/lib">Browse</a> (<a href="/dist/Dancer2/source/lib?raw=1">raw</a>) </li> <li> <a data-keyboard-shortcut="g c" href="/dist/Dancer2/changes">Changes</a> </li> <li> <a rel="noopener nofollow" class="nopopup" href="http://perldancer.org/">Homepage</a> </li> <li> <a class="nopopup" href="/dist/Dancer2/contribute">How to Contribute</a> </li> <li> <a rel="noopener nofollow" data-keyboard-shortcut="g r" href="https://github.com/PerlDancer/Dancer2">Repository</a> </li> <li> <a rel="noopener nofollow" data-keyboard-shortcut="g i" href="https://github.com/PerlDancer/Dancer2/issues">Issues</a> </li> <li> <a rel="noopener nofollow" href="http://matrix.cpantesters.org/?dist=Dancer2+1.1.2" title="Matrix">Testers</a> </li> <li> <a rel="noopener nofollow" href="http://cpants.cpanauthors.org/release/CROMEDOME/Dancer2-1.1.2">Kwalitee</a> </li> <li> <div class="ttip" data-toggle="tooltip" data-placement="bottom" title="The # people with an indexing permission on Dancer2 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: 3 </div> </li> <li> License: perl_5 </li> <li> Perl: v5.14.0 </li> <li class="chat-banner"> <div><a rel="noopener nofollow" target="_blank" href="https://kiwiirc.com/nextclient/#irc://irc.perl.org/#dancer?nick=mc-guest-?">Chat with us!</a></div> </li> <li class="nav-header">Activity</li> <li> <div class="activity-graph"> <img src="/dist/Dancer2/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/C/CR/CROMEDOME/Dancer2-1.1.2.tar.gz"> Download (<span itemprop="fileSize">394.82KB</span>)</a> </li> <li> <a href="https://explorer.metacpan.org/?url=%2Fmodule%2FCROMEDOME%2FDancer2-1.1.2%2Flib%2FDancer2.pm"> MetaCPAN Explorer </a> </li> <li> <a href="/dist/Dancer2/permissions"> Permissions </a> </li> <li> <a href="/dist/Dancer2/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:Dancer2"> <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="Dancer2"> <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/CROMEDOME/Dancer2-1.1.2/view/lib/Dancer2.pm" >1.1.2 (CROMEDOME on 2024-11-25)</option> <option value="/release/CROMEDOME/Dancer2-1.1.1/view/lib/Dancer2.pm" >1.1.1 (CROMEDOME on 2024-07-18)</option> <option value="/release/CROMEDOME/Dancer2-1.1.0/view/lib/Dancer2.pm" >1.1.0 (CROMEDOME on 2023-12-12)</option> <option value="/release/CROMEDOME/Dancer2-1.0.0/view/lib/Dancer2.pm" >1.0.0 (CROMEDOME on 2023-10-09)</option> <option value="/release/CROMEDOME/Dancer2-0.400001/view/lib/Dancer2.pm" >0.400001 (CROMEDOME on 2023-02-05)</option> <option value="/release/CROMEDOME/Dancer2-0.400000/view/lib/Dancer2.pm" >0.400000 (CROMEDOME on 2022-03-14)</option> <option value="/release/CROMEDOME/Dancer2-0.301004/view/lib/Dancer2.pm" >0.301004 (CROMEDOME on 2021-06-06)</option> <option value="/release/CROMEDOME/Dancer2-0.301003/view/lib/Dancer2.pm" >0.301003 (CROMEDOME on 2021-06-03)</option> <option value="/release/CROMEDOME/Dancer2-0.301002/view/lib/Dancer2.pm" >0.301002 (CROMEDOME on 2021-04-18)</option> <option value="/release/CROMEDOME/Dancer2-0.301001/view/lib/Dancer2.pm" >0.301001 (CROMEDOME on 2021-03-17)</option> <option value="/release/CROMEDOME/Dancer2-0.301000/view/lib/Dancer2.pm" >0.301000 (CROMEDOME on 2021-03-15)</option> <option value="/release/CROMEDOME/Dancer2-0.300005/view/lib/Dancer2.pm" >0.300005 (CROMEDOME on 2021-01-26)</option> <option value="/release/CROMEDOME/Dancer2-0.300004/view/lib/Dancer2.pm" >0.300004 (CROMEDOME on 2020-05-27)</option> <option value="/release/CROMEDOME/Dancer2-0.300003/view/lib/Dancer2.pm" >0.300003 (CROMEDOME on 2020-04-09)</option> <option value="/release/CROMEDOME/Dancer2-0.300002/view/lib/Dancer2.pm" >0.300002 (CROMEDOME on 2020-04-07)</option> <option value="/release/CROMEDOME/Dancer2-0.300001/view/lib/Dancer2.pm" >0.300001 (CROMEDOME on 2020-04-06)</option> <option value="/release/CROMEDOME/Dancer2-0.300000/view/lib/Dancer2.pm" >0.300000 (CROMEDOME on 2019-12-24)</option> <option value="/release/CROMEDOME/Dancer2-0.208002/view/lib/Dancer2.pm" >0.208002 (CROMEDOME on 2019-12-14)</option> <option value="/release/CROMEDOME/Dancer2-0.208001/view/lib/Dancer2.pm" >0.208001 (CROMEDOME on 2019-08-05)</option> <option value="/release/CROMEDOME/Dancer2-0.208000/view/lib/Dancer2.pm" >0.208000 (CROMEDOME on 2019-06-19)</option> <option value="/release/CROMEDOME/Dancer2-0.207000/view/lib/Dancer2.pm" >0.207000 (CROMEDOME on 2018-11-14)</option> <option value="/release/CROMEDOME/Dancer2-0.206000/view/lib/Dancer2.pm" >0.206000 (CROMEDOME on 2018-04-20)</option> <option value="/release/CROMEDOME/Dancer2-0.206000_02/view/lib/Dancer2.pm" >0.206000_02 DEV (CROMEDOME on 2018-04-10)</option> <option value="/release/CROMEDOME/Dancer2-0.206000_01/view/lib/Dancer2.pm" >0.206000_01 DEV (CROMEDOME on 2018-04-09)</option> <option value="/release/CROMEDOME/Dancer2-0.205002/view/lib/Dancer2.pm" >0.205002 (CROMEDOME on 2017-10-17)</option> <option value="/release/CROMEDOME/Dancer2-0.205001/view/lib/Dancer2.pm" >0.205001 (CROMEDOME on 2017-07-11)</option> <option value="/release/CROMEDOME/Dancer2-0.205000/view/lib/Dancer2.pm" >0.205000 (CROMEDOME on 2017-03-10)</option> <option value="/release/XSAWYERX/Dancer2-0.204004/view/lib/Dancer2.pm" >0.204004 (XSAWYERX on 2017-01-26)</option> <option value="/release/CROMEDOME/Dancer2-0.204003/view/lib/Dancer2.pm" >0.204003 (CROMEDOME on 2017-01-25)</option> <option value="/release/CROMEDOME/Dancer2-0.204002/view/lib/Dancer2.pm" >0.204002 (CROMEDOME on 2016-12-21)</option> <option value="/release/CROMEDOME/Dancer2-0.204001/view/lib/Dancer2.pm" >0.204001 (CROMEDOME on 2016-10-17)</option> <option value="/release/CROMEDOME/Dancer2-0.204000/view/lib/Dancer2.pm" >0.204000 (CROMEDOME on 2016-10-11)</option> <option value="/release/CROMEDOME/Dancer2-0.203001/view/lib/Dancer2.pm" >0.203001 (CROMEDOME on 2016-09-04)</option> <option value="/release/CROMEDOME/Dancer2-0.203000/view/lib/Dancer2.pm" >0.203000 (CROMEDOME on 2016-08-25)</option> <option value="/release/CROMEDOME/Dancer2-0.202000/view/lib/Dancer2.pm" >0.202000 (CROMEDOME on 2016-08-13)</option> <option value="/release/CROMEDOME/Dancer2-0.201000/view/lib/Dancer2.pm" >0.201000 (CROMEDOME on 2016-07-22)</option> <option value="/release/XSAWYERX/Dancer2-0.200003/view/lib/Dancer2.pm" >0.200003 (XSAWYERX on 2016-07-11)</option> <option value="/release/XSAWYERX/Dancer2-0.200002/view/lib/Dancer2.pm" >0.200002 (XSAWYERX on 2016-06-22)</option> <optgroup label="BackPAN">' <option value="/release/CROMEDOME/Dancer2-0.200004/view/lib/Dancer2.pm" >0.200004 (CROMEDOME on 2016-07-22)</option> <option value="/release/CROMEDOME/Dancer2-0.200003/view/lib/Dancer2.pm" >0.200003 (CROMEDOME on 2016-07-05)</option> <option value="/release/XSAWYERX/Dancer2-0.200001/view/lib/Dancer2.pm" >0.200001 (XSAWYERX on 2016-06-16)</option> <option value="/release/XSAWYERX/Dancer2-0.200000/view/lib/Dancer2.pm" >0.200000 (XSAWYERX on 2016-05-31)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_04/view/lib/Dancer2.pm" >0.166001_04 DEV (XSAWYERX on 2016-05-27)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_03/view/lib/Dancer2.pm" >0.166001_03 DEV (XSAWYERX on 2016-05-27)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_02/view/lib/Dancer2.pm" >0.166001_02 DEV (XSAWYERX on 2016-04-29)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_01/view/lib/Dancer2.pm" >0.166001_01 DEV (XSAWYERX on 2016-04-19)</option> <option value="/release/XSAWYERX/Dancer2-0.166001/view/lib/Dancer2.pm" >0.166001 (XSAWYERX on 2016-01-22)</option> <option value="/release/XSAWYERX/Dancer2-0.166000/view/lib/Dancer2.pm" >0.166000 (XSAWYERX on 2016-01-12)</option> <option value="/release/XSAWYERX/Dancer2-0.165000/view/lib/Dancer2.pm" >0.165000 (XSAWYERX on 2015-12-17)</option> <option value="/release/XSAWYERX/Dancer2-0.164000/view/lib/Dancer2.pm" >0.164000 (XSAWYERX on 2015-12-16)</option> <option value="/release/XSAWYERX/Dancer2-0.163000/view/lib/Dancer2.pm" >0.163000 (XSAWYERX on 2015-10-15)</option> <option value="/release/XSAWYERX/Dancer2-0.162000_01-TRIAL/view/lib/Dancer2.pm" >0.162000_01-TRIAL DEV (XSAWYERX on 2015-10-13)</option> <option value="/release/XSAWYERX/Dancer2-0.162000/view/lib/Dancer2.pm" >0.162000 (XSAWYERX on 2015-09-06)</option> <option value="/release/XSAWYERX/Dancer2-0.161000_01/view/lib/Dancer2.pm" >0.161000_01 DEV (XSAWYERX on 2015-08-28)</option> <option value="/release/XSAWYERX/Dancer2-0.161000/view/lib/Dancer2.pm" >0.161000 (XSAWYERX on 2015-07-08)</option> <option value="/release/XSAWYERX/Dancer2-0.160003/view/lib/Dancer2.pm" >0.160003 (XSAWYERX on 2015-06-06)</option> <option value="/release/XSAWYERX/Dancer2-0.160002/view/lib/Dancer2.pm" >0.160002 (XSAWYERX on 2015-06-04)</option> <option value="/release/XSAWYERX/Dancer2-0.160001/view/lib/Dancer2.pm" >0.160001 (XSAWYERX on 2015-05-14)</option> <option value="/release/XSAWYERX/Dancer2-0.160000/view/lib/Dancer2.pm" >0.160000 (XSAWYERX on 2015-04-26)</option> <option value="/release/XSAWYERX/Dancer2-0.159003/view/lib/Dancer2.pm" >0.159003 (XSAWYERX on 2015-03-23)</option> <option value="/release/XSAWYERX/Dancer2-0.159002/view/lib/Dancer2.pm" >0.159002 (XSAWYERX on 2015-03-03)</option> <option value="/release/XSAWYERX/Dancer2-0.159001/view/lib/Dancer2.pm" >0.159001 (XSAWYERX on 2015-02-25)</option> <option value="/release/XSAWYERX/Dancer2-0.159000/view/lib/Dancer2.pm" >0.159000 (XSAWYERX on 2015-02-24)</option> <option value="/release/XSAWYERX/Dancer2-0.158000/view/lib/Dancer2.pm" >0.158000 (XSAWYERX on 2015-01-01)</option> <option value="/release/XSAWYERX/Dancer2-0.157001/view/lib/Dancer2.pm" >0.157001 (XSAWYERX on 2014-12-21)</option> <option value="/release/XSAWYERX/Dancer2-0.157000/view/lib/Dancer2.pm" >0.157000 (XSAWYERX on 2014-12-14)</option> <option value="/release/XSAWYERX/Dancer2-0.156001/view/lib/Dancer2.pm" >0.156001 (XSAWYERX on 2014-12-08)</option> <option value="/release/XSAWYERX/Dancer2-0.156000/view/lib/Dancer2.pm" >0.156000 (XSAWYERX on 2014-12-07)</option> <option value="/release/XSAWYERX/Dancer2-0.155004/view/lib/Dancer2.pm" >0.155004 (XSAWYERX on 2014-12-04)</option> <option value="/release/XSAWYERX/Dancer2-0.155003/view/lib/Dancer2.pm" >0.155003 (XSAWYERX on 2014-12-03)</option> <option value="/release/XSAWYERX/Dancer2-0.155002/view/lib/Dancer2.pm" >0.155002 (XSAWYERX on 2014-12-02)</option> <option value="/release/XSAWYERX/Dancer2-0.155001/view/lib/Dancer2.pm" >0.155001 (XSAWYERX on 2014-11-28)</option> <option value="/release/XSAWYERX/Dancer2-0.155000/view/lib/Dancer2.pm" >0.155000 (XSAWYERX on 2014-11-28)</option> <option value="/release/XSAWYERX/Dancer2-0.154000/view/lib/Dancer2.pm" >0.154000 (XSAWYERX on 2014-11-17)</option> <option value="/release/XSAWYERX/Dancer2-0.153002/view/lib/Dancer2.pm" >0.153002 (XSAWYERX on 2014-10-30)</option> <option value="/release/XSAWYERX/Dancer2-0.153001/view/lib/Dancer2.pm" >0.153001 (XSAWYERX on 2014-10-29)</option> <option value="/release/XSAWYERX/Dancer2-0.153000/view/lib/Dancer2.pm" >0.153000 (XSAWYERX on 2014-10-23)</option> <option value="/release/XSAWYERX/Dancer2-0.152000/view/lib/Dancer2.pm" >0.152000 (XSAWYERX on 2014-10-14)</option> <option value="/release/XSAWYERX/Dancer2-0.151000/view/lib/Dancer2.pm" >0.151000 (XSAWYERX on 2014-10-08)</option> <option value="/release/XSAWYERX/Dancer2-0.150000/view/lib/Dancer2.pm" >0.150000 (XSAWYERX on 2014-08-16)</option> <option value="/release/XSAWYERX/Dancer2-0.149000_02/view/lib/Dancer2.pm" >0.149000_02 DEV (XSAWYERX on 2014-08-10)</option> <option value="/release/XSAWYERX/Dancer2-0.149000_01/view/lib/Dancer2.pm" >0.149000_01 DEV (XSAWYERX on 2014-07-23)</option> <option value="/release/XSAWYERX/Dancer2-0.143000/view/lib/Dancer2.pm" >0.143000 (XSAWYERX on 2014-07-05)</option> <option value="/release/XSAWYERX/Dancer2-0.142000/view/lib/Dancer2.pm" >0.142000 (XSAWYERX on 2014-06-24)</option> <option value="/release/XSAWYERX/Dancer2-0.141000/view/lib/Dancer2.pm" >0.141000 (XSAWYERX on 2014-06-08)</option> <option value="/release/XSAWYERX/Dancer2-0.140900_01/view/lib/Dancer2.pm" >0.140900_01 DEV (XSAWYERX on 2014-06-07)</option> <option value="/release/XSAWYERX/Dancer2-0.140001/view/lib/Dancer2.pm" >0.140001 (XSAWYERX on 2014-05-01)</option> <option value="/release/XSAWYERX/Dancer2-0.140000/view/lib/Dancer2.pm" >0.140000 (XSAWYERX on 2014-04-28)</option> <option value="/release/XSAWYERX/Dancer2-0.13/view/lib/Dancer2.pm" >0.13 (XSAWYERX on 2014-04-13)</option> <option value="/release/XSAWYERX/Dancer2-0.12/view/lib/Dancer2.pm" >0.12 (XSAWYERX on 2014-04-07)</option> <option value="/release/XSAWYERX/Dancer2-0.11/view/lib/Dancer2.pm" >0.11 (XSAWYERX on 2013-12-15)</option> <option value="/release/SUKRIA/Dancer2-0.10/view/lib/Dancer2.pm" >0.10 (SUKRIA on 2013-09-28)</option> <option value="/release/XSAWYERX/Dancer2-0.09/view/lib/Dancer2.pm" >0.09 (XSAWYERX on 2013-09-01)</option> <option value="/release/XSAWYERX/Dancer2-0.08/view/lib/Dancer2.pm" >0.08 (XSAWYERX on 2013-08-18)</option> <option value="/release/XSAWYERX/Dancer2-0.07/view/lib/Dancer2.pm" >0.07 (XSAWYERX on 2013-08-03)</option> <option value="/release/XSAWYERX/Dancer2-0.06/view/lib/Dancer2.pm" >0.06 (XSAWYERX on 2013-07-30)</option> <option value="/release/SUKRIA/Dancer2-0.05/view/lib/Dancer2.pm" >0.05 (SUKRIA on 2013-07-20)</option> <option value="/release/SUKRIA/Dancer2-0.04/view/lib/Dancer2.pm" >0.04 (SUKRIA on 2013-04-22)</option> <option value="/release/SUKRIA/Dancer2-0.03/view/lib/Dancer2.pm" >0.03 (SUKRIA on 2013-03-07)</option> <option value="/release/SUKRIA/Dancer2-0.02/view/lib/Dancer2.pm" >0.02 (SUKRIA on 2013-02-24)</option> <option value="/release/SUKRIA/Dancer2-0.01/view/lib/Dancer2.pm" >0.01 (SUKRIA on 2013-02-22)</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/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-1.1.2/lib/Dancer2.pm" >1.1.2 (CROMEDOME on 2024-11-25)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-1.1.1/lib/Dancer2.pm" >1.1.1 (CROMEDOME on 2024-07-18)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-1.1.0/lib/Dancer2.pm" >1.1.0 (CROMEDOME on 2023-12-12)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-1.0.0/lib/Dancer2.pm" >1.0.0 (CROMEDOME on 2023-10-09)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.400001/lib/Dancer2.pm" >0.400001 (CROMEDOME on 2023-02-05)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.400000/lib/Dancer2.pm" >0.400000 (CROMEDOME on 2022-03-14)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.301004/lib/Dancer2.pm" >0.301004 (CROMEDOME on 2021-06-06)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.301003/lib/Dancer2.pm" >0.301003 (CROMEDOME on 2021-06-03)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.301002/lib/Dancer2.pm" >0.301002 (CROMEDOME on 2021-04-18)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.301001/lib/Dancer2.pm" >0.301001 (CROMEDOME on 2021-03-17)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.301000/lib/Dancer2.pm" >0.301000 (CROMEDOME on 2021-03-15)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.300005/lib/Dancer2.pm" >0.300005 (CROMEDOME on 2021-01-26)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.300004/lib/Dancer2.pm" >0.300004 (CROMEDOME on 2020-05-27)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.300003/lib/Dancer2.pm" >0.300003 (CROMEDOME on 2020-04-09)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.300002/lib/Dancer2.pm" >0.300002 (CROMEDOME on 2020-04-07)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.300001/lib/Dancer2.pm" >0.300001 (CROMEDOME on 2020-04-06)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.300000/lib/Dancer2.pm" >0.300000 (CROMEDOME on 2019-12-24)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.208002/lib/Dancer2.pm" >0.208002 (CROMEDOME on 2019-12-14)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.208001/lib/Dancer2.pm" >0.208001 (CROMEDOME on 2019-08-05)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.208000/lib/Dancer2.pm" >0.208000 (CROMEDOME on 2019-06-19)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.207000/lib/Dancer2.pm" >0.207000 (CROMEDOME on 2018-11-14)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.206000/lib/Dancer2.pm" >0.206000 (CROMEDOME on 2018-04-20)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.206000_02/lib/Dancer2.pm" >0.206000_02 DEV (CROMEDOME on 2018-04-10)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.206000_01/lib/Dancer2.pm" >0.206000_01 DEV (CROMEDOME on 2018-04-09)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.205002/lib/Dancer2.pm" >0.205002 (CROMEDOME on 2017-10-17)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.205001/lib/Dancer2.pm" >0.205001 (CROMEDOME on 2017-07-11)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.205000/lib/Dancer2.pm" >0.205000 (CROMEDOME on 2017-03-10)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.204004/lib/Dancer2.pm" >0.204004 (XSAWYERX on 2017-01-26)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.204003/lib/Dancer2.pm" >0.204003 (CROMEDOME on 2017-01-25)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.204002/lib/Dancer2.pm" >0.204002 (CROMEDOME on 2016-12-21)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.204001/lib/Dancer2.pm" >0.204001 (CROMEDOME on 2016-10-17)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.204000/lib/Dancer2.pm" >0.204000 (CROMEDOME on 2016-10-11)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.203001/lib/Dancer2.pm" >0.203001 (CROMEDOME on 2016-09-04)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.203000/lib/Dancer2.pm" >0.203000 (CROMEDOME on 2016-08-25)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.202000/lib/Dancer2.pm" >0.202000 (CROMEDOME on 2016-08-13)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.201000/lib/Dancer2.pm" >0.201000 (CROMEDOME on 2016-07-22)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.200003/lib/Dancer2.pm" >0.200003 (XSAWYERX on 2016-07-11)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.200002/lib/Dancer2.pm" >0.200002 (XSAWYERX on 2016-06-22)</option> <optgroup label="BackPAN">' <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.200004/lib/Dancer2.pm" >0.200004 (CROMEDOME on 2016-07-22)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/CROMEDOME/Dancer2-0.200003/lib/Dancer2.pm" >0.200003 (CROMEDOME on 2016-07-05)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.200001/lib/Dancer2.pm" >0.200001 (XSAWYERX on 2016-06-16)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.200000/lib/Dancer2.pm" >0.200000 (XSAWYERX on 2016-05-31)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.166001_04/lib/Dancer2.pm" >0.166001_04 DEV (XSAWYERX on 2016-05-27)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.166001_03/lib/Dancer2.pm" >0.166001_03 DEV (XSAWYERX on 2016-05-27)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.166001_02/lib/Dancer2.pm" >0.166001_02 DEV (XSAWYERX on 2016-04-29)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.166001_01/lib/Dancer2.pm" >0.166001_01 DEV (XSAWYERX on 2016-04-19)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.166001/lib/Dancer2.pm" >0.166001 (XSAWYERX on 2016-01-22)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.166000/lib/Dancer2.pm" >0.166000 (XSAWYERX on 2016-01-12)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.165000/lib/Dancer2.pm" >0.165000 (XSAWYERX on 2015-12-17)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.164000/lib/Dancer2.pm" >0.164000 (XSAWYERX on 2015-12-16)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.163000/lib/Dancer2.pm" >0.163000 (XSAWYERX on 2015-10-15)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.162000_01-TRIAL/lib/Dancer2.pm" >0.162000_01-TRIAL DEV (XSAWYERX on 2015-10-13)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.162000/lib/Dancer2.pm" >0.162000 (XSAWYERX on 2015-09-06)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.161000_01/lib/Dancer2.pm" >0.161000_01 DEV (XSAWYERX on 2015-08-28)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.161000/lib/Dancer2.pm" >0.161000 (XSAWYERX on 2015-07-08)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.160003/lib/Dancer2.pm" >0.160003 (XSAWYERX on 2015-06-06)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.160002/lib/Dancer2.pm" >0.160002 (XSAWYERX on 2015-06-04)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.160001/lib/Dancer2.pm" >0.160001 (XSAWYERX on 2015-05-14)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.160000/lib/Dancer2.pm" >0.160000 (XSAWYERX on 2015-04-26)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.159003/lib/Dancer2.pm" >0.159003 (XSAWYERX on 2015-03-23)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.159002/lib/Dancer2.pm" >0.159002 (XSAWYERX on 2015-03-03)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.159001/lib/Dancer2.pm" >0.159001 (XSAWYERX on 2015-02-25)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.159000/lib/Dancer2.pm" >0.159000 (XSAWYERX on 2015-02-24)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.158000/lib/Dancer2.pm" >0.158000 (XSAWYERX on 2015-01-01)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.157001/lib/Dancer2.pm" >0.157001 (XSAWYERX on 2014-12-21)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.157000/lib/Dancer2.pm" >0.157000 (XSAWYERX on 2014-12-14)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.156001/lib/Dancer2.pm" >0.156001 (XSAWYERX on 2014-12-08)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.156000/lib/Dancer2.pm" >0.156000 (XSAWYERX on 2014-12-07)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.155004/lib/Dancer2.pm" >0.155004 (XSAWYERX on 2014-12-04)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.155003/lib/Dancer2.pm" >0.155003 (XSAWYERX on 2014-12-03)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.155002/lib/Dancer2.pm" >0.155002 (XSAWYERX on 2014-12-02)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.155001/lib/Dancer2.pm" >0.155001 (XSAWYERX on 2014-11-28)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.155000/lib/Dancer2.pm" >0.155000 (XSAWYERX on 2014-11-28)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.154000/lib/Dancer2.pm" >0.154000 (XSAWYERX on 2014-11-17)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.153002/lib/Dancer2.pm" >0.153002 (XSAWYERX on 2014-10-30)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.153001/lib/Dancer2.pm" >0.153001 (XSAWYERX on 2014-10-29)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.153000/lib/Dancer2.pm" >0.153000 (XSAWYERX on 2014-10-23)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.152000/lib/Dancer2.pm" >0.152000 (XSAWYERX on 2014-10-14)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.151000/lib/Dancer2.pm" >0.151000 (XSAWYERX on 2014-10-08)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.150000/lib/Dancer2.pm" >0.150000 (XSAWYERX on 2014-08-16)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.149000_02/lib/Dancer2.pm" >0.149000_02 DEV (XSAWYERX on 2014-08-10)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.149000_01/lib/Dancer2.pm" >0.149000_01 DEV (XSAWYERX on 2014-07-23)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.143000/lib/Dancer2.pm" >0.143000 (XSAWYERX on 2014-07-05)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.142000/lib/Dancer2.pm" >0.142000 (XSAWYERX on 2014-06-24)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.141000/lib/Dancer2.pm" >0.141000 (XSAWYERX on 2014-06-08)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.140900_01/lib/Dancer2.pm" >0.140900_01 DEV (XSAWYERX on 2014-06-07)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.140001/lib/Dancer2.pm" >0.140001 (XSAWYERX on 2014-05-01)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.140000/lib/Dancer2.pm" >0.140000 (XSAWYERX on 2014-04-28)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.13/lib/Dancer2.pm" >0.13 (XSAWYERX on 2014-04-13)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.12/lib/Dancer2.pm" >0.12 (XSAWYERX on 2014-04-07)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.11/lib/Dancer2.pm" >0.11 (XSAWYERX on 2013-12-15)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/SUKRIA/Dancer2-0.10/lib/Dancer2.pm" >0.10 (SUKRIA on 2013-09-28)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.09/lib/Dancer2.pm" >0.09 (XSAWYERX on 2013-09-01)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.08/lib/Dancer2.pm" >0.08 (XSAWYERX on 2013-08-18)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.07/lib/Dancer2.pm" >0.07 (XSAWYERX on 2013-08-03)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/XSAWYERX/Dancer2-0.06/lib/Dancer2.pm" >0.06 (XSAWYERX on 2013-07-30)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/SUKRIA/Dancer2-0.05/lib/Dancer2.pm" >0.05 (SUKRIA on 2013-07-20)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/SUKRIA/Dancer2-0.04/lib/Dancer2.pm" >0.04 (SUKRIA on 2013-04-22)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/SUKRIA/Dancer2-0.03/lib/Dancer2.pm" >0.03 (SUKRIA on 2013-03-07)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/SUKRIA/Dancer2-0.02/lib/Dancer2.pm" >0.02 (SUKRIA on 2013-02-24)</option> <option value="/release/CROMEDOME/Dancer2-1.1.2/diff/SUKRIA/Dancer2-0.01/lib/Dancer2.pm" >0.01 (SUKRIA on 2013-02-22)</option> </optgroup> </select> </li> <li> <ul class="dependencies"> <li class="nav-header">Dependencies</li> <li><a href="/pod/Attribute::Handlers" title="Attribute::Handlers" class="ellipsis">Attribute::Handlers</a></li> <li><a href="/pod/CLI::Osprey" title="CLI::Osprey" class="ellipsis">CLI::Osprey</a></li> <li><a href="/pod/Carp" title="Carp" class="ellipsis">Carp</a></li> <li><a href="/pod/Clone" title="Clone" class="ellipsis">Clone</a></li> <li><a href="/pod/Config::Any" title="Config::Any" class="ellipsis">Config::Any</a></li> <li><a href="/pod/Digest::SHA" title="Digest::SHA" class="ellipsis">Digest::SHA</a></li> <li><a href="/pod/Encode" title="Encode" class="ellipsis">Encode</a></li> <li><a href="/pod/Exporter" title="Exporter" class="ellipsis">Exporter</a></li> <li><a href="/pod/Exporter::Tiny" title="Exporter::Tiny" class="ellipsis">Exporter::Tiny</a></li> <li><a href="/pod/File::Basename" title="File::Basename" class="ellipsis">File::Basename</a></li> <li><a href="/pod/File::Copy" title="File::Copy" class="ellipsis">File::Copy</a></li> <li><a href="/pod/File::Path" title="File::Path" class="ellipsis">File::Path</a></li> <li><a href="/pod/File::Share" title="File::Share" class="ellipsis">File::Share</a></li> <li><a href="/pod/File::Spec" title="File::Spec" class="ellipsis">File::Spec</a></li> <li><a href="/pod/File::Temp" title="File::Temp" class="ellipsis">File::Temp</a></li> <li><a href="/pod/File::Which" title="File::Which" class="ellipsis">File::Which</a></li> <li><a href="/pod/HTTP::Date" title="HTTP::Date" class="ellipsis">HTTP::Date</a></li> <li><a href="/pod/HTTP::Headers::Fast" title="HTTP::Headers::Fast" class="ellipsis">HTTP::Headers::Fast</a></li> <li><a href="/pod/HTTP::Tiny" title="HTTP::Tiny" class="ellipsis">HTTP::Tiny</a></li> <li><a href="/pod/Hash::Merge::Simple" title="Hash::Merge::Simple" class="ellipsis">Hash::Merge::Simple</a></li> <li><a href="/pod/Hash::MultiValue" title="Hash::MultiValue" class="ellipsis">Hash::MultiValue</a></li> <li><a href="/pod/Import::Into" title="Import::Into" class="ellipsis">Import::Into</a></li> <li><a href="/pod/JSON::MaybeXS" title="JSON::MaybeXS" class="ellipsis">JSON::MaybeXS</a></li> <li><a href="/pod/List::Util" title="List::Util" class="ellipsis">List::Util</a></li> <li><a href="/pod/MIME::Base64" title="MIME::Base64" class="ellipsis">MIME::Base64</a></li> <li><a href="/pod/Module::Pluggable" title="Module::Pluggable" class="ellipsis">Module::Pluggable</a></li> <li><a href="/pod/Module::Runtime" title="Module::Runtime" class="ellipsis">Module::Runtime</a></li> <li><a href="/pod/Moo" title="Moo" class="ellipsis">Moo</a></li> <li><a href="/pod/Moo::Role" title="Moo::Role" class="ellipsis">Moo::Role</a></li> <li><a href="/pod/POSIX" title="POSIX" class="ellipsis">POSIX</a></li> <li><a href="/pod/Path::Tiny" title="Path::Tiny" class="ellipsis">Path::Tiny</a></li> <li><a href="/pod/Plack" title="Plack" class="ellipsis">Plack</a></li> <li><a href="/pod/Plack::Middleware::FixMissingBodyInRedirect" title="Plack::Middleware::FixMissingBodyInRedirect" class="ellipsis">Plack::Middleware::FixMissingBodyInRedirect</a></li> <li><a href="/pod/Plack::Middleware::RemoveRedundantBody" title="Plack::Middleware::RemoveRedundantBody" class="ellipsis">Plack::Middleware::RemoveRedundantBody</a></li> <li><a href="/pod/Ref::Util" title="Ref::Util" class="ellipsis">Ref::Util</a></li> <li><a href="/pod/Role::Tiny" title="Role::Tiny" class="ellipsis">Role::Tiny</a></li> <li><a href="/pod/Safe::Isa" title="Safe::Isa" class="ellipsis">Safe::Isa</a></li> <li><a href="/pod/Sub::Quote" title="Sub::Quote" class="ellipsis">Sub::Quote</a></li> <li><a href="/pod/Template" title="Template" class="ellipsis">Template</a></li> <li><a href="/pod/Template::Tiny" title="Template::Tiny" class="ellipsis">Template::Tiny</a></li> <li><a href="/pod/Test::Builder" title="Test::Builder" class="ellipsis">Test::Builder</a></li> <li><a href="/pod/Test::More" title="Test::More" class="ellipsis">Test::More</a></li> <li><a href="/pod/Type::Tiny" title="Type::Tiny" class="ellipsis">Type::Tiny</a></li> <li><a href="/pod/Types::Standard" title="Types::Standard" class="ellipsis">Types::Standard</a></li> <li><a href="/pod/URI::Escape" title="URI::Escape" class="ellipsis">URI::Escape</a></li> <li><a href="/pod/YAML" title="YAML" class="ellipsis">YAML</a></li> <li><a href="/pod/parent" title="parent" class="ellipsis">parent</a></li> <li><i class="ttip" title="dynamic_config enabled">and possibly others</i></li> <li> <hr> </li> <li> <a href="/module/Dancer2/requires">Reverse dependencies</a> </li> <li> <a href="http://deps.cpantesters.org/?module=Dancer2">CPAN Testers List</a> </li> <li> <a href="https://cpandeps.grinnz.com/?dist=Dancer2">Dependency graph</a> </li> </ul> </li> <li class="nav-header">Permalinks</li> <li> <a href="/release/CROMEDOME/Dancer2-1.1.2/view/lib/Dancer2.pm">This version</a> </li> <li> <a href="/pod/Dancer2">Latest version</a> </li> <li> <div class="plussers"> <div class="nav-header">++ed by:</div> <div> <a class="display-all" href="/author/DAVECROSS"><img src="https://www.gravatar.com/avatar/d9f8bf9efe6afedec1b5b4ea24301933?d=identicon&s=20" title="DAVECROSS" alt="DAVECROSS"></a> <a class="display-all" href="/author/PWBENNETT"><img src="https://www.gravatar.com/avatar/41a085cce4a7061cf4ee49d02b9bed0e?d=identicon&s=20" title="PWBENNETT" alt="PWBENNETT"></a> <a class="display-all" href="/author/CAMSPI"><img src="https://www.gravatar.com/avatar/e26b9be142a619cdd35dca33ae320d26?d=identicon&s=20" title="CAMSPI" alt="CAMSPI"></a> <a class="display-all" href="/author/SZABGAB"><img src="https://www.gravatar.com/avatar/4e0a6fe2acda5df6095514e7d6329e91?d=identicon&s=20" title="SZABGAB" alt="SZABGAB"></a> <a class="display-all" href="/author/PLICEASE"><img src="https://www.gravatar.com/avatar/0640fb1c0a5e82f5a777f2306efcac77?d=identicon&s=20" title="PLICEASE" alt="PLICEASE"></a> </div> <!-- Display counts of plussers--> <div> <a href="/dist/Dancer2/plussers">51 PAUSE users</a> </div> <div> 86 non-PAUSE users </div> </div> </li> <li> <div> <button class="contributors-show-button btn-link">and 1 contributors</button> <div id="metacpan_contributors" class="slide-out slide-out-hidden"> <div> <ul> <li class="contributor" > Dancer Core Developers </li> </ul> </div> </div> </div> </li> </ul> </div> </nav> <div class="content-navigation"> <div class="breadcrumbs"> <span> <a data-keyboard-shortcut="g a" rel="author" href="/author/CROMEDOME" class="author-name">Jason A. Crome</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/CROMEDOME/Dancer2-1.1.2/view/lib/Dancer2.pm" >1.1.2 (CROMEDOME on 2024-11-25)</option> <option value="/release/CROMEDOME/Dancer2-1.1.1/view/lib/Dancer2.pm" >1.1.1 (CROMEDOME on 2024-07-18)</option> <option value="/release/CROMEDOME/Dancer2-1.1.0/view/lib/Dancer2.pm" >1.1.0 (CROMEDOME on 2023-12-12)</option> <option value="/release/CROMEDOME/Dancer2-1.0.0/view/lib/Dancer2.pm" >1.0.0 (CROMEDOME on 2023-10-09)</option> <option value="/release/CROMEDOME/Dancer2-0.400001/view/lib/Dancer2.pm" >0.400001 (CROMEDOME on 2023-02-05)</option> <option value="/release/CROMEDOME/Dancer2-0.400000/view/lib/Dancer2.pm" >0.400000 (CROMEDOME on 2022-03-14)</option> <option value="/release/CROMEDOME/Dancer2-0.301004/view/lib/Dancer2.pm" >0.301004 (CROMEDOME on 2021-06-06)</option> <option value="/release/CROMEDOME/Dancer2-0.301003/view/lib/Dancer2.pm" >0.301003 (CROMEDOME on 2021-06-03)</option> <option value="/release/CROMEDOME/Dancer2-0.301002/view/lib/Dancer2.pm" >0.301002 (CROMEDOME on 2021-04-18)</option> <option value="/release/CROMEDOME/Dancer2-0.301001/view/lib/Dancer2.pm" >0.301001 (CROMEDOME on 2021-03-17)</option> <option value="/release/CROMEDOME/Dancer2-0.301000/view/lib/Dancer2.pm" >0.301000 (CROMEDOME on 2021-03-15)</option> <option value="/release/CROMEDOME/Dancer2-0.300005/view/lib/Dancer2.pm" >0.300005 (CROMEDOME on 2021-01-26)</option> <option value="/release/CROMEDOME/Dancer2-0.300004/view/lib/Dancer2.pm" >0.300004 (CROMEDOME on 2020-05-27)</option> <option value="/release/CROMEDOME/Dancer2-0.300003/view/lib/Dancer2.pm" >0.300003 (CROMEDOME on 2020-04-09)</option> <option value="/release/CROMEDOME/Dancer2-0.300002/view/lib/Dancer2.pm" >0.300002 (CROMEDOME on 2020-04-07)</option> <option value="/release/CROMEDOME/Dancer2-0.300001/view/lib/Dancer2.pm" >0.300001 (CROMEDOME on 2020-04-06)</option> <option value="/release/CROMEDOME/Dancer2-0.300000/view/lib/Dancer2.pm" >0.300000 (CROMEDOME on 2019-12-24)</option> <option value="/release/CROMEDOME/Dancer2-0.208002/view/lib/Dancer2.pm" >0.208002 (CROMEDOME on 2019-12-14)</option> <option value="/release/CROMEDOME/Dancer2-0.208001/view/lib/Dancer2.pm" >0.208001 (CROMEDOME on 2019-08-05)</option> <option value="/release/CROMEDOME/Dancer2-0.208000/view/lib/Dancer2.pm" >0.208000 (CROMEDOME on 2019-06-19)</option> <option value="/release/CROMEDOME/Dancer2-0.207000/view/lib/Dancer2.pm" >0.207000 (CROMEDOME on 2018-11-14)</option> <option value="/release/CROMEDOME/Dancer2-0.206000/view/lib/Dancer2.pm" >0.206000 (CROMEDOME on 2018-04-20)</option> <option value="/release/CROMEDOME/Dancer2-0.206000_02/view/lib/Dancer2.pm" >0.206000_02 DEV (CROMEDOME on 2018-04-10)</option> <option value="/release/CROMEDOME/Dancer2-0.206000_01/view/lib/Dancer2.pm" >0.206000_01 DEV (CROMEDOME on 2018-04-09)</option> <option value="/release/CROMEDOME/Dancer2-0.205002/view/lib/Dancer2.pm" >0.205002 (CROMEDOME on 2017-10-17)</option> <option value="/release/CROMEDOME/Dancer2-0.205001/view/lib/Dancer2.pm" >0.205001 (CROMEDOME on 2017-07-11)</option> <option value="/release/CROMEDOME/Dancer2-0.205000/view/lib/Dancer2.pm" >0.205000 (CROMEDOME on 2017-03-10)</option> <option value="/release/XSAWYERX/Dancer2-0.204004/view/lib/Dancer2.pm" >0.204004 (XSAWYERX on 2017-01-26)</option> <option value="/release/CROMEDOME/Dancer2-0.204003/view/lib/Dancer2.pm" >0.204003 (CROMEDOME on 2017-01-25)</option> <option value="/release/CROMEDOME/Dancer2-0.204002/view/lib/Dancer2.pm" >0.204002 (CROMEDOME on 2016-12-21)</option> <option value="/release/CROMEDOME/Dancer2-0.204001/view/lib/Dancer2.pm" >0.204001 (CROMEDOME on 2016-10-17)</option> <option value="/release/CROMEDOME/Dancer2-0.204000/view/lib/Dancer2.pm" >0.204000 (CROMEDOME on 2016-10-11)</option> <option value="/release/CROMEDOME/Dancer2-0.203001/view/lib/Dancer2.pm" >0.203001 (CROMEDOME on 2016-09-04)</option> <option value="/release/CROMEDOME/Dancer2-0.203000/view/lib/Dancer2.pm" >0.203000 (CROMEDOME on 2016-08-25)</option> <option value="/release/CROMEDOME/Dancer2-0.202000/view/lib/Dancer2.pm" >0.202000 (CROMEDOME on 2016-08-13)</option> <option value="/release/CROMEDOME/Dancer2-0.201000/view/lib/Dancer2.pm" >0.201000 (CROMEDOME on 2016-07-22)</option> <option value="/release/XSAWYERX/Dancer2-0.200003/view/lib/Dancer2.pm" >0.200003 (XSAWYERX on 2016-07-11)</option> <option value="/release/XSAWYERX/Dancer2-0.200002/view/lib/Dancer2.pm" >0.200002 (XSAWYERX on 2016-06-22)</option> <optgroup label="BackPAN">' <option value="/release/CROMEDOME/Dancer2-0.200004/view/lib/Dancer2.pm" >0.200004 (CROMEDOME on 2016-07-22)</option> <option value="/release/CROMEDOME/Dancer2-0.200003/view/lib/Dancer2.pm" >0.200003 (CROMEDOME on 2016-07-05)</option> <option value="/release/XSAWYERX/Dancer2-0.200001/view/lib/Dancer2.pm" >0.200001 (XSAWYERX on 2016-06-16)</option> <option value="/release/XSAWYERX/Dancer2-0.200000/view/lib/Dancer2.pm" >0.200000 (XSAWYERX on 2016-05-31)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_04/view/lib/Dancer2.pm" >0.166001_04 DEV (XSAWYERX on 2016-05-27)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_03/view/lib/Dancer2.pm" >0.166001_03 DEV (XSAWYERX on 2016-05-27)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_02/view/lib/Dancer2.pm" >0.166001_02 DEV (XSAWYERX on 2016-04-29)</option> <option value="/release/XSAWYERX/Dancer2-0.166001_01/view/lib/Dancer2.pm" >0.166001_01 DEV (XSAWYERX on 2016-04-19)</option> <option value="/release/XSAWYERX/Dancer2-0.166001/view/lib/Dancer2.pm" >0.166001 (XSAWYERX on 2016-01-22)</option> <option value="/release/XSAWYERX/Dancer2-0.166000/view/lib/Dancer2.pm" >0.166000 (XSAWYERX on 2016-01-12)</option> <option value="/release/XSAWYERX/Dancer2-0.165000/view/lib/Dancer2.pm" >0.165000 (XSAWYERX on 2015-12-17)</option> <option value="/release/XSAWYERX/Dancer2-0.164000/view/lib/Dancer2.pm" >0.164000 (XSAWYERX on 2015-12-16)</option> <option value="/release/XSAWYERX/Dancer2-0.163000/view/lib/Dancer2.pm" >0.163000 (XSAWYERX on 2015-10-15)</option> <option value="/release/XSAWYERX/Dancer2-0.162000_01-TRIAL/view/lib/Dancer2.pm" >0.162000_01-TRIAL DEV (XSAWYERX on 2015-10-13)</option> <option value="/release/XSAWYERX/Dancer2-0.162000/view/lib/Dancer2.pm" >0.162000 (XSAWYERX on 2015-09-06)</option> <option value="/release/XSAWYERX/Dancer2-0.161000_01/view/lib/Dancer2.pm" >0.161000_01 DEV (XSAWYERX on 2015-08-28)</option> <option value="/release/XSAWYERX/Dancer2-0.161000/view/lib/Dancer2.pm" >0.161000 (XSAWYERX on 2015-07-08)</option> <option value="/release/XSAWYERX/Dancer2-0.160003/view/lib/Dancer2.pm" >0.160003 (XSAWYERX on 2015-06-06)</option> <option value="/release/XSAWYERX/Dancer2-0.160002/view/lib/Dancer2.pm" >0.160002 (XSAWYERX on 2015-06-04)</option> <option value="/release/XSAWYERX/Dancer2-0.160001/view/lib/Dancer2.pm" >0.160001 (XSAWYERX on 2015-05-14)</option> <option value="/release/XSAWYERX/Dancer2-0.160000/view/lib/Dancer2.pm" >0.160000 (XSAWYERX on 2015-04-26)</option> <option value="/release/XSAWYERX/Dancer2-0.159003/view/lib/Dancer2.pm" >0.159003 (XSAWYERX on 2015-03-23)</option> <option value="/release/XSAWYERX/Dancer2-0.159002/view/lib/Dancer2.pm" >0.159002 (XSAWYERX on 2015-03-03)</option> <option value="/release/XSAWYERX/Dancer2-0.159001/view/lib/Dancer2.pm" >0.159001 (XSAWYERX on 2015-02-25)</option> <option value="/release/XSAWYERX/Dancer2-0.159000/view/lib/Dancer2.pm" >0.159000 (XSAWYERX on 2015-02-24)</option> <option value="/release/XSAWYERX/Dancer2-0.158000/view/lib/Dancer2.pm" >0.158000 (XSAWYERX on 2015-01-01)</option> <option value="/release/XSAWYERX/Dancer2-0.157001/view/lib/Dancer2.pm" >0.157001 (XSAWYERX on 2014-12-21)</option> <option value="/release/XSAWYERX/Dancer2-0.157000/view/lib/Dancer2.pm" >0.157000 (XSAWYERX on 2014-12-14)</option> <option value="/release/XSAWYERX/Dancer2-0.156001/view/lib/Dancer2.pm" >0.156001 (XSAWYERX on 2014-12-08)</option> <option value="/release/XSAWYERX/Dancer2-0.156000/view/lib/Dancer2.pm" >0.156000 (XSAWYERX on 2014-12-07)</option> <option value="/release/XSAWYERX/Dancer2-0.155004/view/lib/Dancer2.pm" >0.155004 (XSAWYERX on 2014-12-04)</option> <option value="/release/XSAWYERX/Dancer2-0.155003/view/lib/Dancer2.pm" >0.155003 (XSAWYERX on 2014-12-03)</option> <option value="/release/XSAWYERX/Dancer2-0.155002/view/lib/Dancer2.pm" >0.155002 (XSAWYERX on 2014-12-02)</option> <option value="/release/XSAWYERX/Dancer2-0.155001/view/lib/Dancer2.pm" >0.155001 (XSAWYERX on 2014-11-28)</option> <option value="/release/XSAWYERX/Dancer2-0.155000/view/lib/Dancer2.pm" >0.155000 (XSAWYERX on 2014-11-28)</option> <option value="/release/XSAWYERX/Dancer2-0.154000/view/lib/Dancer2.pm" >0.154000 (XSAWYERX on 2014-11-17)</option> <option value="/release/XSAWYERX/Dancer2-0.153002/view/lib/Dancer2.pm" >0.153002 (XSAWYERX on 2014-10-30)</option> <option value="/release/XSAWYERX/Dancer2-0.153001/view/lib/Dancer2.pm" >0.153001 (XSAWYERX on 2014-10-29)</option> <option value="/release/XSAWYERX/Dancer2-0.153000/view/lib/Dancer2.pm" >0.153000 (XSAWYERX on 2014-10-23)</option> <option value="/release/XSAWYERX/Dancer2-0.152000/view/lib/Dancer2.pm" >0.152000 (XSAWYERX on 2014-10-14)</option> <option value="/release/XSAWYERX/Dancer2-0.151000/view/lib/Dancer2.pm" >0.151000 (XSAWYERX on 2014-10-08)</option> <option value="/release/XSAWYERX/Dancer2-0.150000/view/lib/Dancer2.pm" >0.150000 (XSAWYERX on 2014-08-16)</option> <option value="/release/XSAWYERX/Dancer2-0.149000_02/view/lib/Dancer2.pm" >0.149000_02 DEV (XSAWYERX on 2014-08-10)</option> <option value="/release/XSAWYERX/Dancer2-0.149000_01/view/lib/Dancer2.pm" >0.149000_01 DEV (XSAWYERX on 2014-07-23)</option> <option value="/release/XSAWYERX/Dancer2-0.143000/view/lib/Dancer2.pm" >0.143000 (XSAWYERX on 2014-07-05)</option> <option value="/release/XSAWYERX/Dancer2-0.142000/view/lib/Dancer2.pm" >0.142000 (XSAWYERX on 2014-06-24)</option> <option value="/release/XSAWYERX/Dancer2-0.141000/view/lib/Dancer2.pm" >0.141000 (XSAWYERX on 2014-06-08)</option> <option value="/release/XSAWYERX/Dancer2-0.140900_01/view/lib/Dancer2.pm" >0.140900_01 DEV (XSAWYERX on 2014-06-07)</option> <option value="/release/XSAWYERX/Dancer2-0.140001/view/lib/Dancer2.pm" >0.140001 (XSAWYERX on 2014-05-01)</option> <option value="/release/XSAWYERX/Dancer2-0.140000/view/lib/Dancer2.pm" >0.140000 (XSAWYERX on 2014-04-28)</option> <option value="/release/XSAWYERX/Dancer2-0.13/view/lib/Dancer2.pm" >0.13 (XSAWYERX on 2014-04-13)</option> <option value="/release/XSAWYERX/Dancer2-0.12/view/lib/Dancer2.pm" >0.12 (XSAWYERX on 2014-04-07)</option> <option value="/release/XSAWYERX/Dancer2-0.11/view/lib/Dancer2.pm" >0.11 (XSAWYERX on 2013-12-15)</option> <option value="/release/SUKRIA/Dancer2-0.10/view/lib/Dancer2.pm" >0.10 (SUKRIA on 2013-09-28)</option> <option value="/release/XSAWYERX/Dancer2-0.09/view/lib/Dancer2.pm" >0.09 (XSAWYERX on 2013-09-01)</option> <option value="/release/XSAWYERX/Dancer2-0.08/view/lib/Dancer2.pm" >0.08 (XSAWYERX on 2013-08-18)</option> <option value="/release/XSAWYERX/Dancer2-0.07/view/lib/Dancer2.pm" >0.07 (XSAWYERX on 2013-08-03)</option> <option value="/release/XSAWYERX/Dancer2-0.06/view/lib/Dancer2.pm" >0.06 (XSAWYERX on 2013-07-30)</option> <option value="/release/SUKRIA/Dancer2-0.05/view/lib/Dancer2.pm" >0.05 (SUKRIA on 2013-07-20)</option> <option value="/release/SUKRIA/Dancer2-0.04/view/lib/Dancer2.pm" >0.04 (SUKRIA on 2013-04-22)</option> <option value="/release/SUKRIA/Dancer2-0.03/view/lib/Dancer2.pm" >0.03 (SUKRIA on 2013-03-07)</option> <option value="/release/SUKRIA/Dancer2-0.02/view/lib/Dancer2.pm" >0.02 (SUKRIA on 2013-02-24)</option> <option value="/release/SUKRIA/Dancer2-0.01/view/lib/Dancer2.pm" >0.01 (SUKRIA on 2013-02-22)</option> </optgroup> </select> <a data-keyboard-shortcut="g d" class="release-name" href="/dist/Dancer2">Dancer2-1.1.2</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 three • 163 direct dependents • 184 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="#7ea3f2" /> <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="Dancer2-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="Dancer2-1.1.2"> <input type="hidden" name="author" value="CROMEDOME"> <input type="hidden" name="distribution" value="Dancer2"> <button type="submit" class="favorite highlight"><span>137</span> ++</button> </form> </div> <div class="show-logged-out"> <button class="fav-not-logged-in favorite highlight"><span>137</span> ++</button> </div> / <span>Dancer2</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="#VERSION">VERSION</a></li> <li><a href="#DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#Documentation-Index">Documentation Index</a> <ul> <li><a href="#Other-Documentation">Other Documentation</a></li> </ul> </li> </ul> </li> <li><a href="#SECURITY-REPORTS">SECURITY REPORTS</a></li> <li><a href="#SUPPORT">SUPPORT</a></li> <li><a href="#AUTHORS">AUTHORS</a> <ul> <li><a href="#CORE-DEVELOPERS">CORE DEVELOPERS</a></li> <li><a href="#CORE-DEVELOPERS-EMERITUS">CORE DEVELOPERS EMERITUS</a></li> <li><a href="#CONTRIBUTORS">CONTRIBUTORS</a></li> </ul> </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>Dancer2 - Lightweight yet powerful web application framework</p> <h1 id="VERSION">VERSION</h1> <p>version 1.1.2</p> <h1 id="DESCRIPTION">DESCRIPTION</h1> <p>Dancer2 is the new generation of <a href="/pod/Dancer">Dancer</a>, the lightweight web-framework for Perl. Dancer2 is a complete rewrite based on <a href="/pod/Moo">Moo</a>.</p> <p>Dancer2 can optionally use XS modules for speed, but at its core remains fatpackable (packable by <a href="/pod/App::FatPacker">App::FatPacker</a>) so you could easily deploy Dancer2 applications on hosts that do not support custom CPAN modules.</p> <p>Dancer2 is easy and fun:</p> <pre><code>use Dancer2; get '/' => sub { "Hello World" }; dance; </code></pre> <p>This is the main module for the Dancer2 distribution. It contains logic for creating a new Dancer2 application.</p> <h2 id="Documentation-Index"><a id="Documentation"></a>Documentation Index</h2> <p>Documentation on Dancer2 is split into several sections. Below is a complete outline on where to go for help.</p> <ul> <li><p>Dancer2 Tutorial</p> <p>If you are new to the Dancer approach, you should start by reading our <a href="/pod/distribution/Dancer2/lib/Dancer2/Tutorial.pod">Dancer2::Tutorial</a>.</p> </li> <li><p>Dancer2 Manual</p> <p><a href="/pod/distribution/Dancer2/lib/Dancer2/Manual.pod">Dancer2::Manual</a> is the reference for Dancer2. Here you will find information on the concepts of Dancer2 application development and a comprehensive reference to the Dancer2 domain specific language.</p> </li> <li><p>Dancer2 Keywords</p> <p>The keywords for Dancer2 can be found under <a href="/pod/distribution/Dancer2/lib/Dancer2/Manual.pod#DSL-KEYWORDS">DSL Keywords</a>.</p> </li> <li><p>Dancer2 Deployment</p> <p>For configuration examples of different deployment solutions involving Dancer2 and Plack, refer to <a href="/pod/distribution/Dancer2/lib/Dancer2/Manual/Deployment.pod">Dancer2::Manual::Deployment</a>.</p> </li> <li><p>Dancer2 Cookbook</p> <p>Specific examples of code for real-life problems and some 'tricks' for applications in Dancer can be found in <a href="/pod/distribution/Dancer2/lib/Dancer2/Cookbook.pod">Dancer2::Cookbook</a></p> </li> <li><p>Dancer2 Config</p> <p>For configuration file details refer to <a href="/pod/distribution/Dancer2/lib/Dancer2/Config.pod">Dancer2::Config</a>. It is a complete list of all configuration options.</p> </li> <li><p>Dancer2 Plugins</p> <p>Refer to <a href="/pod/distribution/Dancer2/lib/Dancer2/Plugins.pod">Dancer2::Plugins</a> for a partial list of available Dancer2 plugins. Note that although we try to keep this list up to date we expect plugin authors to tell us about new modules.</p> <p>For information on how to author a plugin, see <a href="/pod/Dancer2::Plugin#Writing-the-plugin">"Writing the plugin" in Dancer2::Plugin</a>.</p> </li> <li><p>Dancer2 Migration guide</p> <p><a href="/pod/distribution/Dancer2/lib/Dancer2/Manual/Migration.pod">Dancer2::Manual::Migration</a> provides the most up-to-date instruction on how to convert a Dancer (1) based application to Dancer2.</p> </li> </ul> <h3 id="Other-Documentation"><a id="Other"></a>Other Documentation</h3> <ul> <li><p>Core and Community Policy, and Standards of Conduct</p> <p>The <a href="/pod/distribution/Dancer2/lib/Dancer2/Policy.pod">Dancer core and community policy, and standards of conduct</a> defines what constitutes acceptable behavior in our community, what behavior is considered abusive and unacceptable, and what steps will be taken to remediate inappropriate and abusive behavior. By participating in any public forum for Dancer or its community, you are agreeing to the terms of this policy.</p> </li> <li><p>GitHub Wiki</p> <p>Our <a href="https://github.com/PerlDancer/Dancer2/wiki">GitHub wiki</a> has community-contributed documentation, as well as other information that doesn't quite fit within this manual.</p> </li> <li><p>Contributing</p> <p>The <a href="https://github.com/PerlDancer/Dancer2/blob/master/Contributing.md">contribution guidelines</a> describe how to set up your development environment to contribute to the development of Dancer2, Dancer2's Git workflow, submission guidelines, and various coding standards.</p> </li> <li><p>Deprecation Policy</p> <p>The <a href="/pod/distribution/Dancer2/lib/Dancer2/DeprecationPolicy.pod">deprecation policy</a> defines the process for removing old, broken, unused, or outdated code from the Dancer2 codebase. This policy is critical for guiding and shaping future development of Dancer2.</p> </li> </ul> <h1 id="SECURITY-REPORTS"><a id="SECURITY"></a>SECURITY REPORTS</h1> <p>If you need to report a security vulnerability in Dancer2, send all pertinent information to <a href="mailto:dancer-security@dancer.pm">dancer-security@dancer.pm</a>. These matters are taken extremely seriously, and will be addressed in the earliest timeframe possible.</p> <h1 id="SUPPORT">SUPPORT</h1> <p>You are welcome to join our mailing list. For subscription information, mail address and archives see <a href="http://lists.preshweb.co.uk/mailman/listinfo/dancer-users">http://lists.preshweb.co.uk/mailman/listinfo/dancer-users</a>.</p> <p>We are also on IRC: #dancer on irc.perl.org.</p> <h1 id="AUTHORS">AUTHORS</h1> <h2 id="CORE-DEVELOPERS"><a id="CORE"></a>CORE DEVELOPERS</h2> <pre><code>Alberto Simões Alexis Sukrieh D Ruth Holloway (GeekRuthie) Damien Krotkine David Precious Franck Cuny Jason A. Crome Mickey Nasriachi Peter Mottram (SysPete) Russell Jenkins Sawyer X Stefan Hornburg (Racke) Yanick Champoux</code></pre> <h2 id="CORE-DEVELOPERS-EMERITUS"><a id="CORE1"></a>CORE DEVELOPERS EMERITUS</h2> <pre><code>David Golden Steven Humphrey</code></pre> <h2 id="CONTRIBUTORS">CONTRIBUTORS</h2> <pre><code>A. Sinan Unur Abdullah Diab Achyut Kumar Panda Ahmad M. Zawawi Alex Beamish Alexander Karelas Alexander Pankoff Alexandr Ciornii Andrew Beverley Andrew Grangaard Andrew Inishev Andrew Solomon Andy Jack Ashvini V B10m Bas Bloemsaat baynes Ben Hutton Ben Kaufman biafra Blabos de Blebe Breno G. de Oliveira cdmalon Celogeek Cesare Gargano Charlie Gonzalez chenchen000 Chi Trinh Christian Walde Christopher White cloveistaken Colin Kuskie cym0n Dale Gallagher Dan Book (Grinnz) Daniel Böhmer Daniel Muey Daniel Perrett Dave Jacoby Dave Webb David (sbts) David Steinbrunner David Zurborg Davs Deirdre Moran Dennis Lichtenthäler Dinis Rebolo dtcyganov Elliot Holden Emil Perhinschi Erik Smit Fayland Lam ferki Gabor Szabo GeekRuthie geistteufel Gideon D'souza Gil Magno Glenn Fowler Graham Knop Gregor Herrmann Grzegorz Rożniecki Hobbestigrou Hunter McMillen ice-lenor Ivan Bessarabov Ivan Kruglov JaHIY Jakob Voss James Aitken James Raspass James McCoy Jason Lewis Javier Rojas Jean Stebens Jens Rehsack Joel Berger Johannes Piehler Jonathan Cast Jonathan Scott Duff Joseph Frazer Julien Fiegehenn (simbabque) Julio Fraire Kaitlyn Parkhurst (SYMKAT) kbeyazli Keith Broughton lbeesley Lennart Hengstmengel Ludovic Tolhurst-Cleaver Mario Zieschang Mark A. Stratman Marketa Wachtlova Masaaki Saito Mateu X Hunter Matt Phillips Matt S Trout mauke Maurice MaxPerl Ma_Sys.ma Menno Blom Michael Kröll Michał Wojciechowski Mike Katasonov Mohammad S Anwar mokko Nick Patch Nick Tonkin Nigel Gregoire Nikita K Nuno Carvalho Olaf Alders Olivier Mengué Omar M. Othman pants Patrick Zimmermann Pau Amma Paul Clements Paul Cochrane Paul Williams Pedro Bruno Pedro Melo Philippe Bricout Ricardo Signes Rick Yakubowski Ruben Amortegui Sakshee Vijay (sakshee3) Sam Kington Samit Badle Sebastien Deseille (sdeseille) Sergiy Borodych Shlomi Fish Slava Goltser Snigdha Steve Bertrand Steve Dondley Steven Humphrey Tatsuhiko Miyagawa Timothy Alexis Vass Tina Müller Tom Hukins Upasana Shukla Utkarsh Gupta Vernon Lyon Victor Adam Vince Willems Vincent Bachelier xenu Yves Orton</code></pre> <h1 id="AUTHOR">AUTHOR</h1> <p>Dancer Core Developers</p> <h1 id="COPYRIGHT-AND-LICENSE"><a id="COPYRIGHT"></a>COPYRIGHT AND LICENSE</h1> <p>This software is copyright (c) 2024 by Alexis Sukrieh.</p> <p>This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system 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 Dancer2, 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 Dancer2</code></pre> <p><a href="/pod/CPAN">CPAN shell</a></p> <pre><code>perl -MCPAN -e shell install Dancer2</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>