Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Arador (8415)

Journal of Arador (8415)

Saturday August 22, 2009
11:10 AM

use 5.011/5.012 should be progressive

[ #39509 ]

As some may know, use 5.011 activates strictures. I think that's a good idea, but I don't think that's enough. I strongly feel that it should be more progressive than that. I think it should do what Modern::Perl aims to do implement: Some small, important and uncontroversial pragmas (as opposed to Perl 5i, which does do big and controversial things). My list of things would be:

  • use feature '5.011';
  • use warnings;
  • use IO::Handle;
  • no indirect;
  • use mro 'c3';

Anyway: I'd like to hear what other people think use 5.011 (and thus eventually use 5.012) should mean.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • It already does "use feature '5.011';". And it was hard to add even "use strict" - too much opposition. "use warnings" would have even more.

  • Strongly disagree with IO::Handle and warnings. Strictures are important, warnings are not (note that I almost always enable them).

    Would like no indirect, but I doubt it’ll happen.

    Not opposed to C3, but indifferent.

    • What's wrong with IO::Handle? 5.6 could have supported calling methods on lexical filehandles without loading IO::Handle explicitly without violating the Principle of Least Surprise. (I could argue that having an object you can't actually call methods on violates PoLS.)

  • I've been doing this for years in code without any problems, so I think it's a good candidate if strictures are going to be enabled.