in reply to Re^2: Make $^V and "my" implicit
in thread Make $^V and "my" implicit

I didn't mean it literally so should have written it as

use <version string>

I disagree, though. If whatever new version of Perl is installed on my machine I should not have to manually enable its new features.

Replies are listed 'Best First'.
Re^4: Make $^V and "my" implicit
by tobyink (Canon) on Feb 04, 2014 at 15:27 UTC

    Generally speaking, you don't need to manually enable new features. Recent features like the defined-or operator (// and //=), and s///r, and the package NAME BLOCK syntax, and so on, work out of the box in new versions of Perl. You don't need to explicitly enable them.

    The exception to this rule is for things like state, say, fc, and so on, which before becoming new Perl features, were already syntactically correct Perl. Thus people could have been using functions with these names already. Enabling them implicitly would break existing Perl scripts, thus they need to be enabled explicitly.

    use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name