Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??


I am writing PERL web applications for over 10 years now. A video one of them is here:

My way of building them

Install an Apache versrion >2, mod_perl, DBI/DBD, CGI, CGI::session, create a set of directories: cgi, css, js, lib, img and tmp, RTFM about PERL and CGI ( and build your application. Scale out with the Apache features (mpm and cluster), set up your database as a cluster and your corporate application is alive.

The way to build them which pleases your manager

Install Catalyst. During the time you will read the Catalyst books, my application will be in production. However Catalyst has a lot of tools and your boss will definitely like it. It might even become strategic.

The result

In both case you will have with a state of the art application, which will be built at reasonable, if not record breaking costs. Provided you write proper code, your application will run over 10 years without any problem.

Major projects written in PERL

Switzerland, state of Geneva, Justice department: This department is using PERL to realize a web application to manage all court procedures. The project manager introduced it to me and is happy about his choice regarding PERL. It is the biggest PERL project I know.

Metadot: Metadot is portal written in PERL. At the time I used it, it did not work under mod_perl and had a lousy performance. It is however a good portal.

Amanda: Amanda is the backup system I use. It is an open source software delivered with most Linux distributions. It is also the example of what you should not do. The PERL code was badly written and issue arose as PERL 5 was introduced. If I remember it correctly foreach $tmp @list is legal in PERL 4 but not PERL 5. So Amanda was not working any more! Accordingly avoid cheap code in PERL! In other words: best practices are a must!

Alternatives listed in your post.

Ruby: Forget it. The only time I had to use Ruby the code did not work because of deprecated method usage. Such a language can definitely not be used at corporate level.

Python: No clue! Never used! Notice I heared of Python allready in 1993! In fact it was released in the late 1980s!

The problems

You state the problem yourself. PERL is badly perceived mostly because too much lousy code was written with it and security issues appeared. An article I read in 2000 about it was cited to me again during a security review in 2008! Now make a guess of your major issue: the management:

  • Management does not like PERL because they are not a lot of programmers around.
  • Management does not like PERL because the corporation next door does not use it.
  • Management does not like PERL because you can write lousy code with it.
  • Management does not like PERL because they can not sue someone in case of failure.
  • Management does not like PERL because they do not even know about it.

These are your problems and the problems I faced and still face after 15 years of freelance consulting for major international corporations. Notice a multi with over 40'000 employees did not want to used it because PERL is open source, but it was installed on the corporate laptop I got as part of the operating system!

Good luck


The best medicine against depression is a cold beer!

In reply to Re^2: Is Perl the right language for a large web application? by Zzenmonk
in thread Is Perl the right language for a large web application? by walkingthecow

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others scrutinizing the Monastery: (7)
    As of 2018-03-19 06:14 GMT
    Find Nodes?
      Voting Booth?
      When I think of a mole I think of:

      Results (232 votes). Check out past polls.