i know and have read somewhere that CGI is no longer part of the standard Perl module distribution that Perl comes with
So what does that mean?
The answer is, it means nothing. CGI is perfectly useful, widely used, well supported, and a good introduction to web application programming.
In the old, old days programmers used CGI's HTML-printing methods to output their script's HTML, often in the main program code. This is indeed bad practice because of the lack of separation between program logic and output presentation, and since almost 20 years it has been recommended to use a different method to output your HTML - Text::Template or the Template Toolkit or Template::Tiny are good choices to explore.
But CGI is an exceptionally well-seasoned package for beginning web application programmers and for experienced developers who need a quick way to build simple interactive sites/pages, and you should not overlook it because of a remark that you read on-line, without understanding what that means. Here's a somewhat recent discussion on the subject.
Having said all that, in regard to the "modern" frameworks, I would say this:
- Mojolicious has a lot of development momentum, is maybe the "hippest" of the bunch (with competition from Dancer2), and you can get started with Mojolicious::Lite if you want a really shallow learning curve (although all these frameworks are relatively easy to learn and begin using).
- Dancer: I use Dancer extensively at $work and find it easy to use and mostly satisfactory, but weak in some areas such as logging. I'm not as familiar with Dancer2 but presumably it tries to avoid some of the weaknesses of its predecessor and is developed by some of the original Dancer devs.
-
Catalyst is the heavyweight of this bunch, with a steeper learning curve and more knobs to twiddle, but with the payoff of a more monolithic application development environment (ie it has more stuff built in).
In any case in your situation I would experiment with building a small test application in each of the above before hitching my wagon to one particular horse.
Hope this helps!
The way forward always starts with a minimal test.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.