InfiniteSilence has asked for the wisdom of the Perl Monks concerning the following question:

I am looking for an authoritative list of all of the currently experimental features in Perl (I thought it would be here in the experimental POD or here in the perlexperiment POD but the class feature does not appear in them so these cannot be considered authoritative). When I try to discuss Perl experimental features like the new native classes I get the anticipated warning:

#!/usr/bin/perl -w use strict; no CGI; use v5.36; use feature 'class'; # notice that I commented this out #no warnings "experimental::class"; package Signals; our $VERSION=1.0; package Foo; class Alpha 0.01 { field $longname = "alpha!"; } package main; #...

When I compile this or run it I get:

class is experimental at cgiuser3.pl line 16. field is experimental at cgiuser3.pl line 17.

Which is exactly what I want and it appears to be consistent with how other popular languages are handling experimental features. But what I need upon seeing this is as follows:

Celebrate Intellectual Diversity

Replies are listed 'Best First'.
Re: Perl Experimental Features Usage and Testing
by ikegami (Patriarch) on May 11, 2026 at 12:53 UTC

    feature does a good job of stating which of its features are experimental.

    The 'class' feature

    WARNING: This feature is still experimental and the implementation may change or be removed in future versions of Perl. For this reason, Perl will warn when you use the feature, unless you have explicitly disabled the warning: [...]


    warnings lists all warning classes.

    | +- experimental --+ | | | +- experimental::args_array_with_signatures | | | +- experimental::builtin | | | +- experimental::class | | | +- experimental::declared_refs | | | +- experimental::defer | | | +- experimental::extra_paired_delimiters | | | +- experimental::keyword_all | | | +- experimental::keyword_any | | | +- experimental::private_use | | | +- experimental::re_strict | | | +- experimental::refaliasing | | | +- experimental::regex_sets | | | +- experimental::try | | | +- experimental::uniprop_wildcards | | | +- experimental::vlb |

    And yes, experimental also lists all experimental features.

    class - enables the class, field, and method syntax

    This was added in perl 5.38.0.

    The addition of class, keyword_all and keyword_any was simply overlooked for a while. You need to upgrade the module (0.036) to its latest version to get these.


    Finally, I've been updating Perl named operators and builtin subs introduced since 5.6, which includes precise information as to when the items were experimental. However, this focuses on named operators and builtin subs (including, for example, class) rather than features.

Re: Perl Experimental Features Usage and Testing
by swl (Prior) on May 11, 2026 at 01:50 UTC