3 perlexperiment - A listing of experimental features in Perl
7 This document lists the current and past experimental features in the perl
8 core. Although all of these are documented with their appropriate topics,
9 this succinct listing gives you an overview and basic facts about their
12 So far we've merely tried to find and list the experimental features and infer
13 their inception, versions, etc. There's a lot of speculation here.
15 =head2 Current experiments
19 =item C<our> can now have an experimental optional attribute C<unique>
21 Introduced in Perl 5.8.0
23 Deprecated in Perl 5.10.0
25 The ticket for this feature is
26 L<[perl #119313]|https://rt.perl.org/rt3/Ticket/Display.html?id=119313>.
28 =item Smart match (C<~~>)
30 Introduced in Perl 5.10.0
32 Modified in Perl 5.10.1, 5.12.0
34 Using this feature triggers warnings in the category
35 C<experimental::smartmatch>.
37 The ticket for this feature is
38 L<[perl #119317]|https://rt.perl.org/rt3/Ticket/Display.html?id=119317>.
42 Introduced in Perl 5.10.0
44 Using this feature triggers warnings in the category
45 C<experimental::lexical_topic>.
47 The ticket for this feature is
48 L<[perl #119315]|https://rt.perl.org/rt3/Ticket/Display.html?id=119315>.
50 =item Pluggable keywords
52 The ticket for this feature is
53 L<[perl #119455]|https://rt.perl.org/rt3/Ticket/Display.html?id=119455>.
55 See L<perlapi/PL_keyword_plugin> for the mechanism.
57 Introduced in: Perl 5.11.2
59 =item Array and hash container functions accept references
61 Introduced in Perl 5.14.0
63 The ticket for this feature is
64 L<[perl #119437]|https://rt.perl.org/rt3/Ticket/Display.html?id=119437>.
66 =item Lexical subroutines
68 Introduced in: Perl 5.18
70 See also: L<perlsub/Lexical Subroutines>
72 Using this feature triggers warnings in the category
73 C<experimental::lexical_subs>.
75 The ticket for this feature is
76 L<[perl #120085]|https://rt.perl.org/rt3/Ticket/Display.html?id=120085>.
78 =item Regular Expression Set Operations
80 Introduced in: Perl 5.18
82 The ticket for this feature is
83 L<[perl #119451]|https://rt.perl.org/rt3/Ticket/Display.html?id=119451>.
85 See also: L<perlrecharclass/Extended Bracketed Character Classes>
87 Using this feature triggers warnings in the category
88 C<experimental::regex_sets>.
90 =item C<\s> in regexp matches vertical tab
92 Introduced in Perl 5.18
94 =item Subroutine signatures
96 Introduced in Perl 5.20.0
98 Using this feature triggers warnings in the category
99 C<experimental::signatures>.
101 The ticket for this feature is
102 L<[perl #121481]|https://rt.perl.org/Ticket/Display.html?id=121481>.
104 =item Postfix dereference syntax
106 Introduced in Perl 5.20.0
108 Using this feature triggers warnings in the category
109 C<experimental::postderef>.
111 The ticket for this feature is
112 L<[perl #120162]|https://rt.perl.org:443/rt3/Ticket/Display.html?id=120162>.
114 =item Aliasing via reference
116 Introduced in Perl 5.22.0
118 Using this feature triggers warnings in the category
119 C<experimental::refaliasing>.
121 The ticket for this feature is
122 L<[perl #122947]|https://rt.perl.org/rt3/Ticket/Display.html?id=122947>.
124 See also: L<perlref/Assigning to References>
126 =item The <:win32> IO pseudolayer
128 The ticket for this feature is
129 L<[perl #119453]|https://rt.perl.org/rt3/Ticket/Display.html?id=119453>.
133 =item There is an C<installhtml> target in the Makefile.
135 The ticket for this feature is
136 L<[perl #116487]|https://rt.perl.org/rt3/Ticket/Display.html?id=116487>.
138 =item Unicode in Perl on EBCDIC
142 =head2 Accepted features
144 These features were so wildly successful and played so well with others that
145 we decided to remove their experimental status and admit them as full, stable
146 features in the world of Perl, lavishing all the benefits and luxuries thereof.
147 They are also awarded +5 Stability and +3 Charisma.
153 Introduced in Perl 5.005
155 =item die accepts a reference
157 Introduced in Perl 5.005
161 Introduced in Perl 5.6.0
163 See also L<perldebug>, L<perldebtut>
165 =item Weak references
167 Introduced in Perl 5.6.0
169 =item Internal file glob
171 Introduced in Perl 5.6.0
173 =item fork() emulation
175 Introduced in Perl 5.6.1
179 =item -Dusemultiplicity -Duseithreads
181 Introduced in Perl 5.6.0
183 Accepted in Perl 5.8.0
185 =item Support for long doubles
187 Introduced in Perl 5.6.0
189 Accepted in Perl 5.8.1
191 =item The C<\N> regex character class
193 The C<\N> character class, not to be confused with the named character
194 sequence C<\N{NAME}>, denotes any non-newline character in a regular
197 Introduced in Perl 5.12
199 Exact version of acceptance unclear, but no later than Perl 5.18.
201 =item C<(?{code})> and C<(??{ code })>
203 Introduced in Perl 5.6.0
205 Accepted in Perl 5.20.0
209 =item Linux abstract Unix domain sockets
211 Introduced in Perl 5.9.2
213 Accepted before Perl 5.20.0. The Socket library is now primarily maintained
214 on CPAN, rather than in the perl core.
218 =item Lvalue subroutines
220 Introduced in Perl 5.6.0
222 Accepted in Perl 5.20.0
226 =item Backtracking control verbs
230 Introduced in: Perl 5.10
232 Accepted in Perl 5.20.0
234 =item The <:pop> IO pseudolayer
238 Accepted in Perl 5.20.0
242 =head2 Removed features
244 These features are no longer considered experimental and their functionality
245 has disappeared. It's your own fault if you wrote production programs using
246 these features after we explicitly told you not to (see L<perlpolicy>).
250 =item 5.005-style threading
252 Introduced in Perl 5.005
258 Introduced in Perl 5.005
260 Moved from Perl 5.9.0 to CPAN
262 =item The pseudo-hash data type
264 Introduced in Perl 5.6.0
266 Removed in Perl 5.9.0
268 =item GetOpt::Long Options can now take multiple values at once (experimental)
270 C<Getopt::Long> upgraded to version 2.35
272 Removed in Perl 5.8.8
276 The C<-A> command line switch
278 Introduced in Perl 5.9.0
280 Removed in Perl 5.9.5
282 =item Test::Harness::Straps
284 Moved from Perl 5.10.1 to CPAN
288 The experimental C<legacy> pragma was swallowed by the C<feature> pragma.
290 Introduced in: 5.11.2
298 For a complete list of features check L<feature>.
302 brian d foy C<< <brian.d.foy@gmail.com> >>
304 SE<eacute>bastien Aperghis-Tramoni C<< <saper@cpan.org> >>
308 Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >>
312 You can use and redistribute this document under the same terms as Perl