Living with smart match breakage

Mark Fowler mark at twoshortplanks.com
Fri Jun 14 01:02:01 BST 2013


On Thursday, June 13, 2013, Yitzchak Scott-Thoennes wrote:

>
> I think it may be easier to list the cases that could be expected to
> *continue* to work in the future;


It's my understanding that smart match will continue to work *as* *is* in
all future versions of Perl if you enable experimental smart match
behaviour in your code. The point in the declaration is to say 'I want you
to try to have the behaviour that existed when this was an experimental
feature, not whatever the behaviour is now' - i.e. to tell whatever version
of Perl your code is running on to always use smart match as it worked in
5.18.

The *warning* in 5.18 is to tell you that you're *not* declaring you want
the current experimental behaviour (i.e. behaviour in 5.18 and previous
versions of Perl) but whatever behaviour some crazy person on p5p
implements in some yet to be written Perl.

Turning off the warnings (with 'no warnings') rather than using the
experimental feature (with 'use') is saying 'I don't want the code to work
as is but break when someone changes something'.

Hth

Mark


More information about the london.pm mailing list