http://www.perlmonks.org?node_id=1015118


in reply to Re^3: Do you hide .pl extension on web pages?
in thread Do you hide .pl extension on web pages?

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

  • Comment on Re^4: Do you hide .pl extension on web pages? (PSGI Application)