Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I started using Perl around 2006'ish, that was pretty late in the day compared to most Perl hackers. I was primarily a C/C++ Dev, going the OO way. And I was doing Java here and there.

Until one morning a colleague of mine, saw me doing some stuff I was taking really long to finish. He just walked up to my cubicle and just said 'Why dont you use Perl to do this' and then started my crazy journey with Perl. What I really like about languages like Perl/Python and Ruby is how quickly you can go from learning to building something really useful.

Perl has seen atleast 3 major rise in its popularity since its inception. First one among sysadmins, its from these days that you will powerful terse, small but elegant solutions to a range of problems. If you ever get a chance, do browse and read essays from Tom christiansen written during those times. They are just pure gem. The second was during Perl/CGI days. And third was the most recent with the Modern Perl movement. Much of the thanks for this goes to People like Chromatic, Audrey, People of p5p, Moose devs and etc. From each of those times, you will see varying variety of code written. Starting from really amazing one liners to at times some frustrating code during the dot com bubble, to now where Perl code really looks very nice.

Modern Perl really is set of many successful sub projects. And its not just code, it covers everything. Code is just the beginning. To give you an example, these days you have very nice cpan package managers. You can search packages using Metacpan in a very user friendly GUI with nice syntax highlighting. You have awesome documentation, Modern Perl book really is the Perl's equivalent of the K&R book. There is Moose, And there are things like Class::MOP. There are things like DBIx::Class.

In terms of other new breath taking stuff you will see things like Devel::Declare. This allows new syntax extensions to be written using Perl itself. Then as a result you have a range of modules like Moosex::<extensions>,Try::Catch, Gather::Take etc.

In terms of web frameworks your have Catalyst.

So its really these many many successful subprojects together which form 'Modern Perl', if you wish to describe it that way. Its no one thing. Code, documentation, culture, events, infrastructure etc etc all together form the 'Modern Perl' thing.

If you come to the Perl core development, then they have real good time based releases. They are fixing bugs, adding new features, and doing a lot of amazing stuff. There have been pretty neat syntax features added in the past few releases and I guess much of Perl 6 based features will continually seep into Perl 5 as needed over time.

Modern Perl, or other wise. Perl continues to retain its niche. Which is text heavy lifting, automation, rapid prototyping, development, a deep learing curve and larger gains in productivity with time. Its still the go-to tool for most back end tasks. If you wish to get something done faster, with little effort, sanely with little bugs in say over a weekend, You have little alternatives apart from Perl. If you are in dev ops and you have P1 tickets standing on your head pretty often, a tool like Perl is indispensible.

And most importantly its areas of strengths are only growing- Unicode, regular expressions, CPAN, powerful syntax etc. If you ever get a chance Higher Order Perl is one book you must read. It really opens your mind to elegant solution to a range of problems.

But like every other language, you need to invest time and effort incrementally to keep yourself updated.



I started in 2003 or so, and got into it more seriously because I ended up with customers to support using Perl software. Perl is an amazing language, and with many modern perl approaches, it's wonderful.

This being said like most frameworks it is extremely important to know when to leave the framework or leave things out. While I LOVE working with Moose, my own projects are very heavily stored procedure centric and therefore an ORM like DBIx::Class really does me very little good. DBIx::Class by all reports is an excellent ORM but it's still an ORM. ;-)

There is no better glue language I have ever encountered than Perl We use it in LedgerSMB to glue together stored procedures, web templates (in Template Toolkit), and the web server interfaces. It's a wonderful language and I can't recommend it highly enough.

As for Perl 6, it has joined HURD 1.0 as one of those projects that will be released when pigs fly. I suspect that Perl 5.x will be as far as Perl gets.


David Wheeler (theory) started working on a stored procedure centric project a while back and as a result extracted the DBIx::Class connection logic into DBIx::Connector - which I have a feeling you're already using.

I spent a fair amount of time hanging out in #ledgersmb a while back and in spite of being the project founder of DBIx::Class, I don't think I ever felt I had a convincing argument for using it, so honestly I'm glad you're not doing so (if I ever come up with an O<sproc>M or something I'm sure you'll find out :)


Glad to see you again.

Actually some of your recommendations are pending getting rid of old code (we simply can't move everything to PSGI when we have the mixture of old and new code we have, so it's CGI only for now still). However we are giving hard thought as to the best way to do so and I expect that as we continue that process things will become more PSGI friendly until it is just a matter of changing one sub somewhere.

I should note you have convinced Josh Drake on the merits of DBIx::Class for other projects though.

Finally I think it is worth noting that I think that in the 1.4 tree we've come out (I hope) of the contageous effect of the bad SL code, and so the coding styles which evolved so much during LSMB 1.3 are being formalized and moved to Moose in 1.4.


I guess the problem with Perl 6 is that it's more of a "fork" than an "increment". Thus, Perl 5.16 (and beyond!).


Thanks for the interesting insight.

There has also been quite a bit of change in the perl Web Framework world as well. IMHO Catalyst is no longer king. Mojolicious has really taken the spotlight. It's fast, the community behind it is really creative and it supports websockets. :D Mojo really does make perl web development fun again.

There is also a Sinatra inspired framework, Dancer.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: