Script or webserver?

Application

Dancer provides you with a bunch of fancy keywords, but its really just a fancy PSGI application at heart :) and can run on any PSGI server without modification (or CGI or mod_perl or whatever .... ) thanks to Plack

Most any CGI program with proper scoping of variables ( CGI to mod_perl Porting. mod_perl Coding guidelines ) can be trivially converted into a PSGI application, and it can run on Dancer/Mojo... Plack, any PSGI server, and it can have as NICE or CRAZY of a url as you want (provided you abstracted your url/link writing stuff so its easy to customize)

Try it out cgi-app / mojo / dancer / catalyst / titanium and you'll see they all generate a module and various scripts, for example

$ dancer -a MyDancerApp
+ MyDancerApp
+ MyDancerApp\bin
+ MyDancerApp\bin\app.pl
+ MyDancerApp\config.yml
+ MyDancerApp\environments
+ MyDancerApp\environments\development.yml
+ MyDancerApp\environments\production.yml
+ MyDancerApp\views
+ MyDancerApp\views\index.tt
+ MyDancerApp\views\layouts
+ MyDancerApp\views\layouts\main.tt
+ MyDancerApp\MANIFEST.SKIP
+ MyDancerApp\lib
  MyDancerApp\lib
+ MyDancerApp\lib\MyDancerApp.pm
+ MyDancerApp\public
+ MyDancerApp\public\css
+ MyDancerApp\public\css\style.css
+ MyDancerApp\public\css\error.css
+ MyDancerApp\public\images
+ MyDancerApp\public\500.html
+ MyDancerApp\public\404.html
+ MyDancerApp\public\dispatch.fcgi
+ MyDancerApp\public\dispatch.cgi
+ MyDancerApp\public\javascripts
+ MyDancerApp\public\javascripts\jquery.js
+ MyDancerApp\t
+ MyDancerApp\t\002_index_route.t
+ MyDancerApp\t\001_base.t
+ MyDancerApp\Makefile.PL

app.pl runs the built-in Dancer webserver unless it is loaded via Plack::Runner or other PSGI webserver, which is done via dispatch.cgi so you can run it from a cgi-bin :)

See Dancer::Deployment - common ways to put your Dancer app into use

Also, search around for plack/dancer slideshows/presentations, they give a nice overview


In reply to Re^4: Do you hide .pl extension on web pages? (PSGI Application) by Anonymous Monk
in thread Do you hide .pl extension on web pages? by punch_card_don

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.