Asking #perl about Modern Perl

masak on 2009-06-21T15:38:28

This is my first Perl 5 post ever. 哈哈

<masak> while I'm here, I'd like to talk about Modern Perl.
<masak> in y'all's opinion, what are the modules a Modern Perl 5 user should be aware of?
<masak> I'm thinking of things like Moose, List::Util, maybe Catalyst...
<claes> it all depends on what the task is
<lucs> masak: 5.10 in general maybe
<claes> using warnings, strict and perhaps indirect pragmas
<masak> I think things that we take for granted as good time-savers all qualify.
<masak> so maybe stuff like Getopt::Long too.
<claes> personaly I don't use Moose because I haven't had any use for it yet
<masak> for me as a Perl 6 user, it's not that difficult to see the use for Moose.
<masak> I saw a blog post recently that said that Moose even helped the blogger document things more succinctly.
<masak> that is, even when he wasn't using Moose, he was using habits gained from it to write better documentation.
<Hinrik> Perl::Critic, definitely
<claes> Devel::NYTProf
<Hinrik> some of the eventy things (AnyEvent, Coro, POE) too, if that's what your app requires
<Hinrik> and the various Test::* modules, of course
<masak> Hinrik: which ones, more exactly?
<Hinrik> Test::More usually works for me, along with some other specialized ones depending on the typo of app
<Hinrik> e.g. Test::Script to test if scripts compile
<Hinrik> masak: oh, and Devel::Cover is also quite helpful in determining test coverage
<cfedde> see also Modern::Perl
<cfedde> I think that the standard template will become 'use Modern::Perl; use Moose'

Feel the need to add something to the list? The comments are open.


I'd add

mpeters on 2009-06-21T15:52:07

DateTime, Email::Sender, Parallel::ForkManager, SQL::Abstract, and TAP::Harness

Re:I'd add

Phred on 2009-06-21T17:21:29

DBIx::Class as well.

but...

osfameron on 2009-06-22T09:13:17

for some reason 'use Modern::Perl' makes me feel queasy.

For one thing, it seems snide. For another, though the documentation suggests that in the future other modules might be added, it doesn't suggest how to resolve the case of different scripts that require different versions of the bundled modernity. I hope the plan is prettier than use Postmodern::Perl, then Really::Modern::Perl and finally I::Can't::Believe::It's::Not::Modern::Perl ;-P

Re:but...

chromatic on 2009-06-22T12:42:56

The best plan I've seen so far is to use a date as the argument to M::P's import method: use Modern::Perl 2009;