Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

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

by Anonymous Monk
on Jan 24, 2013 at 09:34 UTC ( #1015118=note: print w/ replies, xml ) Need Help??


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)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1015118]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (14)
As of 2014-12-22 16:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (121 votes), past polls