Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^2: Do you hide .pl extension on web pages?

by Tommy (Chaplain)
on Jan 23, 2013 at 18:07 UTC ( #1014973=note: print w/ replies, xml ) Need Help??

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

Right. I use Perl Catalyst and this isn't an issue. Using an MVC for your web application is definitely the way to go. I was a die-hard CGI guy for several years, but after having used a real MVC web application framework, I wouldn't do it any other way. The scalability is mind-blowing.

A mistake can be valuable or costly, depending on how faithfully you pursue correction
Comment on Re^2: Do you hide .pl extension on web pages?
Replies are listed 'Best First'.
Re^3: Do you hide .pl extension on web pages?
by punch_card_don (Curate) on Jan 23, 2013 at 23:51 UTC
    Die-hard CGI guy - yes, that's it. But, after suffering the indignity of having my example called "a really old school URL", I'm thinking it's time to join the 2010's.

    I've been reading about Dancer today. What's not clear to me is - it's a module you download from CPAN an install, but it sounds like a server, for example "listening" on a port. The intro slides on the Dancer website offer this seemingly oxymoronic explanation: "A Dancer script is a webserver."

    Script or webserver?



    Time flies like an arrow. Fruit flies like a banana.
      The trick is it is both. The application can run in a Plack web-server (Starman, Twiggy, Corona), but without one, it starts its own little webserver.
      لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      Script or webserver?


      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\
      + MyDancerApp\config.yml
      + MyDancerApp\environments
      + MyDancerApp\environments\development.yml
      + MyDancerApp\environments\production.yml
      + MyDancerApp\views
      + MyDancerApp\views\
      + MyDancerApp\views\layouts
      + MyDancerApp\views\layouts\
      + MyDancerApp\MANIFEST.SKIP
      + MyDancerApp\lib
      + MyDancerApp\lib\
      + 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
     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

      Dancer is a framework for building web applications and, like most such frameworks these days, it includes its own mini-webserver to use for development, so that you don't need to have a "real" HTTP server running on your dev machine. When you're ready to deploy the app, it's up to you whether you want to have it run as a native PSGI application, as CGI, as FastCGI, or whatever other way you might come up with.

      Just to add to the pile, I used Dancer at my last employer, and while there's a learning curve, it also makes all kinds of things way easy. One of the cool things you can do is write an application, then have Dancer run your application locally (usually on port 3000) for you to fool around with. No fiddling around with Apache, just go!

      Alex / talexb / Toronto

      "Groklaw is the open-source mentality applied to legal research" ~ Linus Torvalds

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (13)
As of 2016-05-26 13:46 GMT
Find Nodes?
    Voting Booth?