<?xml version="1.0" encoding="windows-1252"?>
<node id="1015425" title="Help me fill a gap in my server-side knowledge?" created="2013-01-25 18:22:51" updated="2013-01-25 18:22:51">
<type id="115">
perlquestion</type>
<author id="785151">
Cody Fendant</author>
<data>
<field name="doctext">
&lt;p&gt;I have built lots of sites based on perl with CGI.pm and MySQL. I'm self-taught (with the Monks' help) rather than a professional programmer.&lt;/p&gt;

&lt;p&gt;However all of these sites have been on a stock web hosting account on an Apache server, with the simple model of: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;browser requests URL&lt;/li&gt;
&lt;li&gt;perl runs script at that URL (mostly using .htaccess and rewrite to fake "directories" so that &lt;code&gt;/foo/bar/&lt;/code&gt; is really &lt;code&gt;?x=foo&amp;y=bar&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Apache serves up content after the script runs&lt;/li&gt;
&lt;li&gt;script goes away&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What I don't quite get is how the next, more professional kind of web app works, things based on Catalyst or Mojolicious etc. My question include, but are not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do they require &lt;code&gt;mod_perl&lt;/code&gt;? &lt;/li&gt;
&lt;li&gt;How do you start and stop them? &lt;/li&gt;
&lt;li&gt;Can I run this kind of self-contained app-and-server system on regular commercial hosting or do I need a VPS type setup where I'm root? &lt;/li&gt;
&lt;li&gt;What happens if they crash or the server gets rebooted, etc?&lt;/li&gt;
&lt;li&gt;Where is Plack in all this?&lt;/li&gt;
&lt;li&gt;Could I easily convert my CGI-type sites to this model?&lt;/li&gt;
&lt;li&gt;What makes this system better? Catalyst tutorials all say you &lt;i&gt;can&lt;/i&gt; run the thing as CGI but it's not recommended.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I said, I am totally confident in creating websites the "old" ("dumb"?) way, but this next step is a big gap in my knowledge. Is there a book or a tutorial aimed at taking me to that next level? Or can someone here sum it up succinctly?&lt;/p&gt;

&lt;p&gt;
&lt;b&gt;UPDATE&lt;/b&gt;:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt; I'm getting the idea that it's not more professional to create web apps this way, simply that the frameworks are big, and that they're slow if you don't.
&lt;/li&gt;
&lt;li&gt;
I roughly get what Plack is now.
&lt;/li&gt;
&lt;li&gt;
Three of my questions has been answered, I now know that you stop/start them as servers the way you can start/stop your Apache with apachectl and you make sure they restart with the server by setting up your &lt;code&gt;/etc/init.d&lt;/code&gt; just the way you set up your FTP daemon or whatever, so you need that level of control.
&lt;/li&gt;

&lt;/ul&gt;</field>
</data>
</node>
