Living with smart match breakage

Mark Fowler mark at
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

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'.



More information about the mailing list