Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: Is Perl the right language for a large web application?

by jakeease (Friar)
on Apr 19, 2013 at 07:18 UTC ( #1029466=note: print w/replies, xml ) Need Help??

in reply to Is Perl the right language for a large web application?

Take a look at Catalyst and see if it would be suitable. I recently spent 4 years working on an outdated hand-coded CMS that started back in 1996 and I understand your angst. I'm just starting w/ Catalyst; it looks like a good choice to me.

Update: "outdated" was not the most accurate description there. It handles constant updating to 200 websites, getting 40 million unique visitors per month, and over 250 million page views per month.

With four Perl programmers, we were quite busy making requested mods, bug fixes,and content updates.That kept us plenty busy.

So the better term would have been "not modern." Especially since Modern begins with 5.10. We did switch up to 5.8 during that time.

  • Comment on Re: Is Perl the right language for a large web application?

Replies are listed 'Best First'.
Re^2: Is Perl the right language for a large web application?
by walkingthecow (Friar) on Apr 19, 2013 at 08:13 UTC
    Thank you for pointing me in the direction of Catalyst. Initially, I was thinking about doing this without using a Framework, but Catalyst looks to be quite flexible and I can see it saving me a lot of time.
      In addition to Catalyst, I would recommend that you also look at some of the newer webapp frameworks, such as Dancer and Mojolicious. Personally, I prefer Dancer, but your taste may vary.

      Regarding point 3 in the original post, the #1 reason for you to choose Perl for this project rather than Python or Ruby is that you present yourself as already being significantly more proficient in Perl than the others. All three languages are more-or-less equivalent technically, so the most important criterion to consider when making a free choice between them is "Which one do I know and like best?"

        I'll definitely take a look at Dancer and Mojolicious as well as Catalyst.
Re^2: Is Perl the right language for a large web application?
by Zzenmonk (Sexton) on Apr 24, 2013 at 07:48 UTC


    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!
      Your YouTube link is not available. Could you fix that?


        Your YouTube link is not available. Could you fix that?

        The link is working, its just the video is gone, people remove videos/channels sometimes

        Zzenmonk is no longer a member

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1029466]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (10)
As of 2018-06-19 15:19 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (114 votes). Check out past polls.