- Smart match
("~~")
- Introduced in Perl 5.10.0
Modified in Perl 5.10.1, 5.12.0
Deprecated in 5.38.0
Will be removed in 5.42.0
Using this feature triggers warnings in the category
"deprecated".
The ticket for this experiment is [perl #13173]
<https://github.com/Perl/perl5/issues/13173>.
- Pluggable
keywords
- Introduced in Perl 5.11.2
See "PL_keyword_plugin" in perlapi for the
mechanism.
The ticket for this experiment is [perl #13199]
<https://github.com/Perl/perl5/issues/13199>.
- Aliasing via
reference
- Introduced in Perl 5.22.0
Using this feature triggers warnings in the category
"experimental::refaliasing".
The ticket for this experiment is [perl #14150]
<https://github.com/Perl/perl5/issues/14150>.
See also: "Assigning to References" in perlref
- use re 'strict';
- Introduced in Perl 5.22.0
Using this feature triggers warnings in the category
"experimental::re_strict".
The ticket for this experiment is [perl #18755]
<https://github.com/Perl/perl5/issues/18755>
See "'strict' mode" in re
- Declaring a
reference to a variable
- Introduced in Perl 5.26.0
Using this feature triggers warnings in the category
"experimental::declared_refs".
The ticket for this experiment is [perl #15458]
<https://github.com/Perl/perl5/issues/15458>.
See also: "Declaring a Reference to a Variable" in
perlref
- There is an
"installhtml" target in the Makefile.
- The ticket for this experiment is [perl #12726]
<https://github.com/Perl/perl5/issues/12726>.
- (Limited) Variable-length look-behind
- Introduced in Perl 5.30.0.
Variability of up to 255 characters is handled.
Using this feature triggers warnings in the category
"experimental::vlb".
The ticket for this experiment is [perl #18756]
<https://github.com/Perl/perl5/issues/18756>.
See also: "(*positive_lookbehind:pattern)" in
perlre and "(*negative_lookbehind:pattern)" in
perlre
- Unicode private use
character hooks
- Introduced in Perl 5.30.0.
This feature is part of an interface intended for internal and
experimental use by the perl5 developers. You are unlikely to encounter
it in the wild.
Using this feature triggers warnings in the category
"experimental::private_use".
The ticket for this experiment is [perl #18758]
<https://github.com/Perl/perl5/issues/18758>.
- Unicode property
wildcards
- Introduced in Perl 5.30.0.
This feature allows regular expression matching against
Unicode character properties to be expressed more concisely.
Using this feature triggers warnings in the category
"experimental::uniprop_wildcards".
The ticket for this experiment is [perl #18759]
<https://github.com/Perl/perl5/issues/18759>.
- try/catch control
structure
- Introduced in Perl 5.34.0.
Using the optional "finally"
block part of this feature triggers warnings in the category
"experimental::try".
The ticket for this experiment is [perl #18760]
<https://github.com/Perl/perl5/issues/18760>
- Use of @_ within subroutine
signatures
- Introduced in Perl 5.36.0 as part of a reduction in the scope of
experimental subroutine signatures.
Using the default arguments array (@_)
within a subroutine that uses signatures will emit a warning in the
category
"experimental::args_array_with_signatures".
This includes @_ directly, elements of it such
as $_[$index], or situations where the default
arguments array is accessed implicitly such as
"shift" or
"pop" without arguments.
- The builtin namespace
- Introduced in Perl 5.36.0.
Using certain functions of this feature triggers warnings in
the category
"experimental::builtin".
In Perl 5.36.0, a new namespace,
"builtin", was created for new core
functions that will not be present in every namespace, but will be
available for importing. The namespace itself was considered
experimental until Perl 5.39.2. Some specific functions within it remain
experimental.
The ticket for this experiment is [perl #19764]
<https://github.com/Perl/perl5/issues/19764>.
- The defer block
modifier
- Introduced in Perl 5.36.0
Using this feature triggers warnings in the category
"experimental::defer".
This feature adds a new kind of block, a
"defer" block, which will not be
executed until the containing block is being exited.
The ticket for this experiment is [perl #17949]
<https://github.com/Perl/perl5/issues/17949>.
- Introduced in Perl 5.36.0
Using this feature triggers warnings in the category
"experimental::extra_paired_delimiters".
This feature allows for many non-ASCII pairs of mirroring
delimiters, for example:
my @array = qw« tinker tailor soldier spy »;
The ticket for this experiment is [perl #19765]
<https://github.com/Perl/perl5/issues/19765>.