11package experimental ;
2- $experimental::VERSION = ' 0.016_01c ' ; # cperl fixed lexical_topic
2+ $experimental::VERSION = ' 0.019_01c ' ; # cperl fixed lexical_topic
33use strict;
44use warnings;
55use version ();
66
7- use feature () ;
7+ BEGIN { eval { require feature } } ;
88use Carp qw/ croak carp/ ;
99
1010my %warnings = map { $_ => 1 } grep { / ^experimental::/ } keys %warnings::Offsets ;
@@ -21,6 +21,7 @@ my %min_version = (
2121 array_base => ' 5' ,
2222 autoderef => ' 5.14.0' ,
2323 bitwise => ' 5.22.0' ,
24+ const_attr => ' 5.22.0' ,
2425 current_sub => ' 5.16.0' ,
2526 evalbytes => ' 5.16.0' ,
2627 fc => ' 5.16.0' ,
@@ -39,6 +40,7 @@ my %min_version = (
3940 unicode_strings => ' 5.12.0' ,
4041);
4142my %max_version = (
43+ autoderef => ' 5.23.1' ,
4244 # lexical_topic => '5.23.4',
4345);
4446
@@ -128,7 +130,7 @@ experimental - Experimental features made easy
128130
129131=head1 VERSION
130132
131- version 0.016
133+ version 0.019_01c
132134
133135=head1 SYNOPSIS
134136
@@ -159,15 +161,67 @@ To disable the feature and, if applicable, re-enable any warnings, use:
159161
160162The supported features, documented further below, are:
161163
162- array_base - allow the use of $[ to change the starting index of @array
163- autoderef - allow push, each, keys, and other built-ins on references
164- postderef - allow the use of postfix dereferencing expressions, including
165- in interpolating strings
166- refaliasing - allow aliasing via \$x = \$y
167- regex_sets - allow extended bracketed character classes in regexps
168- signatures - allow subroutine signatures (for named arguments)
169- smartmatch - allow the use of ~~
170- switch - allow the use of ~~, given, and when
164+ =over 4
165+
166+ =item * C<array_base > - allow the use of C<$[ > to change the starting index of C<@array > .
167+
168+ This is supported on all versions of perl.
169+
170+ =item * C<autoderef > - allow push, each, keys, and other built-ins on references.
171+
172+ This was added in perl 5.14.0 and removed in perl 5.23.1.
173+
174+ =item * C<bitwise > - allow the new stringwise bit operators
175+
176+ This was added in perl 5.22.0.
177+
178+ =item * C<const_attr > - allow the :const attribute on subs
179+
180+ This was added in perl 5.22.0.
181+
182+ =item * C<lexical_topic > - allow the use of lexical C<$_ > via C<my $_ > .
183+
184+ This was added in perl 5.10.0 and removed in perl 5.23.4.
185+
186+ =item * C<lexical_subs > - allow the use of lexical subroutines.
187+
188+ This was added in 5.18.0.
189+
190+ =item * C<postderef > - allow the use of postfix dereferencing expressions,
191+ including in interpolating strings
192+
193+ This was added in perl 5.20.0.
194+
195+ =item * C<re_strict > - enables strict mode in regular expressions
196+
197+ This was added in perl 5.22.0.
198+
199+ =item * C<refaliasing > - allow aliasing via C<\$x = \$y >
200+
201+ This was added in perl 5.22.0.
202+
203+ =item * C<regex_sets > - allow extended bracketed character classes in regexps
204+
205+ This was added in perl 5.18.0.
206+
207+ =item * C<signatures > - allow subroutine signatures (for named arguments)
208+
209+ This was added in perl 5.20.0.
210+
211+ =item * C<smartmatch > - allow the use of C<~~ >
212+
213+ This was added in perl 5.10.0, but it should be noted there are significant
214+ incompatibilities between 5.10.0 and 5.10.1.
215+
216+ =item * C<switch > - allow the use of C<~~ > , given, and when
217+
218+ This was added in perl 5.10.0.
219+
220+ =item * C<win32_perlio > - allows the use of the :win32 IO layer.
221+
222+ This was added on perl 5.22.0.
223+
224+ =back
171225
172226=head2 Ordering matters
173227
@@ -194,6 +248,10 @@ on again by the Moose module (fix is to switch the last two lines):
194248Because of the nature of the features it enables, forward compatibility can not
195249be guaranteed in any way.
196250
251+ =head1 SEE ALSO
252+
253+ L<perlexperimental|perlexperimental> contains more information about experimental features.
254+
197255=head1 AUTHOR
198256
199257Leon Timmermans <leont@cpan.org>
0 commit comments