Thank you for the wierdest post I've had the pleasure of seeing in a while. I just had to log in to say that. I also think you want apache with mod_perl. This will load the interpreter just once on server restart, along with any modules you specify in apache's httpd.conf file and a startup perl file you specify. You really don't want to make a web server in Fortran, Lisp, C++ or Postscript, or whatever.

Unless I failed to penetrate your post, you do not need any other languages. The point of your project seems to be a public application or messaging server with a content management backend, all of which can be built on great perl modules, see the Comprehensive Perl Archive Network at cpan.org and turn yourself loose on all the resources that are available there. I also recommend the CGI::Application module which may help you keep things organized..

Mod_perl is basically a perl interpreter bound into Apache, which makes each child process bigger but the total is much better performance since you do not load interpreters all the time. You can actually run perl CGI programs on it too though. Mod_perl programming requires that you program cleanly, since globals can get carried across processes. However I built a search server that calls a C++ based program (htdig) and benefits a lot (security, prototyping, pluggability, management console, massaging output) from the mod_perl part and consistently provides results in tenths of a second. Also if you program with "use strict" you can probably convert your CGI to MP immediately when you move to an ISP that provides MP.

The rest of what you are talking about is probably Parrot which is still being developed, which you can learn about for yourself online. But you do not need Parrot (or .Net for that matter) for your CMS. If you do need to execute say Java or something else you can undoubtedly call it from your mod_perl program, but I do not have experience in embedding say inline Java (these perl modules exist) in such an environment.

You may wish to study the apache manuals since this will explain how you specify handlers in the httpd.conf file to direct files with certain suffixes, or in certain folders, to be run with a given handler. It also tells how to control access by IP if that is what you want, though there are a bunch of apache/perl modules that can do authorization against databases and so on. I used mysqlauth on apache 2 (not there are different versions out there) with success. I recommend you start small and once you get something working add on to it.

As for Perl-based servers this is another possibility, but it is not clear if it will be as bulletproof or more so than apache. Why not experiment with a couple of different ways first.


In reply to Re: Perl Server (feasibility issues) by mattr
in thread Perl Server (feasibility issues) by dakedesu

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.