I need to update Modern::Perl. I waited until the release of Perl 5.10.1. I'm going to add autodie as a dependency (but not enable it; that's for you to decide to use). I'm also going to load IO::Handle, per Yuval's suggestion in Are Filehandles Objects?.

Note that perl5i does this.

These are all simple and obvious changes. I've blocked on a larger change, related to a simple philosophical user interface question for the module:

What happens when what's "modern" changes?

Adding an installation requirement and loading two new modules won't hurt anything. It won't change any existing code. There are no compatibility concerns.

Future changes might have compatibility concerns. If you use Modern::Perl; by itself, you're taking a slight risk that you may have to revisit existing code after an upgrade. What's modern in August 2009 might not be as modern in August 2010 and certainly won't be modern in August 2019.

Elliot Shank wrote in A reasonable approach for Modern::Perl the example code:

use Modern::Perl as_of => '2009-06-23';

What do you think?

I'd like to avoid complex date parsing where possible. I've also considered changing M::P version numbers to dates like 2009.10.06 . The unification is tempting and the implementation is, at worst, of only modest difficulty.

What do you think?