develooper Front page | perl.perl5.porters | Postings from June 2022

Re: disabling smartmatch and when()?

Thread Previous | Thread Next
Alexander Hartmaier
June 20, 2022 16:00
Re: disabling smartmatch and when()?
Message ID:
On Mon, Jun 20, 2022 at 5:55 PM Tomasz Konojacki <> wrote:

> On Mon, 20 Jun 2022 15:43:44 +0100
> Dave Mitchell <> wrote:
> > It's gone through a 9 year deprecation cycle, with a mandatory
> > experimental warning that you have to explicitly disable.
> So signatures were deprecated too? "Experimental" doesn't mean
> deprecated. If we want smartmatch to be deprecated, then we should
> deprecate it. We should have done that a long time ago, instead of
> pretending that signatures/try/isa/whatever have the same status as
> smartmatch.
> Smartmatch was made "experimental" retroactively and for a large portion
> of our users the warnings started appearing as late as 10 years after it
> was introduced!
> RHEL6: released in 2010, supported until 2020: perl 5.10 (no warnings)
> RHEL7: released in 2014, supported until 2024: perl 5.16 (no warnings)
> RHEL8: released in 2019, supported until 2029: perl 5.26 (warns)

Tomasz++ for using real-world deployed Perl versions for arguments!
*Imho* not adding/changing/removing something for backward compatibility
with Perl versions that are included in no longer supported Dist versions
is a waste of time and effort.

> Not to mention that the "experimental" warning doesn't even attempt to
> inform the user what it means:
> > perl -E '$z ~~ $b'
> Smartmatch is experimental at -e line 1.
> Our documentation isn't much better. The meaning of "experimental" is
> hidden deep in perlpolicy. There is no *loud and clear* warning in e.g.
> the smartmatch section of perlop.

Experimental means 'on the way in' to me, deprecated 'on the way out'.
Those should be different warning (categories). Aren't they?

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About