tags:

views:

143

answers:

6

I'm looking to fork Modern::Perl, it's over a year old now, and far dated. I've created nextgen.pm (now on cpan) to take it place.

So far, I've added in:

I assert 5.10.1, so no one trying to write modern Perl gets caught up in the mess that is 5.10.0's smart match. I've also added conditional support for

What else can you think of that might be valuable in a replacement for Modern::Perl? One thing that I've considered doing is trying to assert that a module was not included by the calling package (such as Class::Accessor). Any other ideas?

+7  A: 

Try::Tiny

EDIT: And definitely File::Slurp

tadzik
+2  A: 

Anything that's in perl5i.

CanSpice
While perl5i is pretty cool, it goes way too far in the opinion of many experienced perl hackers. Only because something cool **can** be done really doesn't mean it **should** be done.
rafl
+2  A: 

Method::Signatures::Simple, or some more advanced method and function signature mechanism.

rafl
My firm belief is that this should be a core feature instead. You know. After somebody implements the ro binds. :)
tsee
I dunno. "perl 5 defaults" could certainly also be interpreted as "core features" :-)
rafl
+5  A: 

You seem to import Moose unconditionally if you're not being imported into main. That's just wrong. Not every package is a class.

rafl
How would you suggest detecting if the package is a class?
Evan Carroll
Not at all. That's something only the caller knows. Instead you could provide keywords to allow the caller to declare what he wants, similar to how MX::Declare provides a class keyword.
rafl
I've added the `:procedural` token, which lets allows you to opt-into the non-OO paradigm. Short of that I'm totally comfortable with the assumption that modern perl users will be more inclined to program such that each package is a class. Thanks for the input.
Evan Carroll
Now what about packages that are roles? Also, there's paradigms other than OO that aren't just procedural. The name seems suboptimal.
rafl
If there is a meta installed, I don't reinstall Moose.
Evan Carroll
@Evan Carroll: FWIW I like :procedural. Much better than something like :nomoose.
ysth
@Evan - how about `:no_OO` ?
DVK
+3  A: 

Moose::Autobox, or at least autobox::Core.

rafl