1=head1 NAME 2 3perlexperiment - A listing of experimental features in Perl 4 5=head1 DESCRIPTION 6 7This document lists the current and past experimental features in the perl 8core. Although all of these are documented with their appropriate topics, 9this succinct listing gives you an overview and basic facts about their 10status. 11 12So far we've merely tried to find and list the experimental features and infer 13their inception, versions, etc. There's a lot of speculation here. 14 15=head2 Current experiments 16 17=over 8 18 19=item Smart match (C<~~>) 20 21Introduced in Perl 5.10.0 22 23Modified in Perl 5.10.1, 5.12.0 24 25Using this feature triggers warnings in the category 26C<experimental::smartmatch>. 27 28The ticket for this feature is 29L<[perl #119317]|https://rt.perl.org/rt3/Ticket/Display.html?id=119317>. 30 31=item Pluggable keywords 32 33The ticket for this feature is 34L<[perl #119455]|https://rt.perl.org/rt3/Ticket/Display.html?id=119455>. 35 36See L<perlapi/PL_keyword_plugin> for the mechanism. 37 38Introduced in Perl 5.11.2 39 40=item Regular Expression Set Operations 41 42Introduced in Perl 5.18 43 44The ticket for this feature is 45L<[perl #119451]|https://rt.perl.org/rt3/Ticket/Display.html?id=119451>. 46 47See also: L<perlrecharclass/Extended Bracketed Character Classes> 48 49Using this feature triggers warnings in the category 50C<experimental::regex_sets>. 51 52=item Subroutine signatures 53 54Introduced in Perl 5.20.0 55 56Using this feature triggers warnings in the category 57C<experimental::signatures>. 58 59The ticket for this feature is 60L<[perl #121481]|https://rt.perl.org/Ticket/Display.html?id=121481>. 61 62=item Aliasing via reference 63 64Introduced in Perl 5.22.0 65 66Using this feature triggers warnings in the category 67C<experimental::refaliasing>. 68 69The ticket for this feature is 70L<[perl #122947]|https://rt.perl.org/rt3/Ticket/Display.html?id=122947>. 71 72See also: L<perlref/Assigning to References> 73 74=item The "const" attribute 75 76Introduced in Perl 5.22.0 77 78Using this feature triggers warnings in the category 79C<experimental::const_attr>. 80 81The ticket for this feature is 82L<[perl #123630]|https://rt.perl.org/rt3/Ticket/Display.html?id=123630>. 83 84See also: L<perlsub/Constant Functions> 85 86=item use re 'strict'; 87 88Introduced in Perl 5.22.0 89 90Using this feature triggers warnings in the category 91C<experimental::re_strict>. 92 93See L<re/'strict' mode> 94 95=item The <:win32> IO pseudolayer 96 97The ticket for this feature is 98L<[perl #119453]|https://rt.perl.org/rt3/Ticket/Display.html?id=119453>. 99 100See also L<perlrun> 101 102=item Declaring a reference to a variable 103 104Introduced in Perl 5.26.0 105 106Using this feature triggers warnings in the category 107C<experimental::declared_refs>. 108 109The ticket for this feature is 110L<[perl #128654]|https://rt.perl.org/rt3/Ticket/Display.html?id=128654>. 111 112See also: L<perlref/Declaring a Reference to a Variable> 113 114=item There is an C<installhtml> target in the Makefile. 115 116The ticket for this feature is 117L<[perl #116487]|https://rt.perl.org/rt3/Ticket/Display.html?id=116487>. 118 119=item Unicode in Perl on EBCDIC 120 121=item Script runs 122 123Introduced in Perl 5.28.0 124 125Using this feature triggers warnings in the category 126C<experimental::script_run>. 127 128See also: L<perlre/Script Runs> 129 130=item Alpabetic assertions 131 132Introduced in Perl 5.28.0 133 134Using this feature triggers warnings in the category 135C<experimental::alpha_assertions>. 136 137See also: L<perlre/Extended Patterns>. 138 139=back 140 141=head2 Accepted features 142 143These features were so wildly successful and played so well with others that 144we decided to remove their experimental status and admit them as full, stable 145features in the world of Perl, lavishing all the benefits and luxuries thereof. 146They are also awarded +5 Stability and +3 Charisma. 147 148=over 8 149 150=item 64-bit support 151 152Introduced in Perl 5.005 153 154=item die accepts a reference 155 156Introduced in Perl 5.005 157 158=item DB module 159 160Introduced in Perl 5.6.0 161 162See also L<perldebug>, L<perldebtut> 163 164=item Weak references 165 166Introduced in Perl 5.6.0 167 168=item Internal file glob 169 170Introduced in Perl 5.6.0 171 172=item fork() emulation 173 174Introduced in Perl 5.6.1 175 176See also L<perlfork> 177 178=item -Dusemultiplicity -Duseithreads 179 180Introduced in Perl 5.6.0 181 182Accepted in Perl 5.8.0 183 184=item Support for long doubles 185 186Introduced in Perl 5.6.0 187 188Accepted in Perl 5.8.1 189 190=item The C<\N> regex character class 191 192The C<\N> character class, not to be confused with the named character 193sequence C<\N{NAME}>, denotes any non-newline character in a regular 194expression. 195 196Introduced in Perl 5.12 197 198Exact version of acceptance unclear, but no later than Perl 5.18. 199 200=item C<(?{code})> and C<(??{ code })> 201 202Introduced in Perl 5.6.0 203 204Accepted in Perl 5.20.0 205 206See also L<perlre> 207 208=item Linux abstract Unix domain sockets 209 210Introduced in Perl 5.9.2 211 212Accepted before Perl 5.20.0. The Socket library is now primarily maintained 213on CPAN, rather than in the perl core. 214 215See also L<Socket> 216 217=item Lvalue subroutines 218 219Introduced in Perl 5.6.0 220 221Accepted in Perl 5.20.0 222 223See also L<perlsub> 224 225=item Backtracking control verbs 226 227C<(*ACCEPT)> 228 229Introduced in Perl 5.10 230 231Accepted in Perl 5.20.0 232 233=item The <:pop> IO pseudolayer 234 235See also L<perlrun> 236 237Accepted in Perl 5.20.0 238 239=item C<\s> in regexp matches vertical tab 240 241Accepted in Perl 5.22.0 242 243=item Postfix dereference syntax 244 245Introduced in Perl 5.20.0 246 247Accepted in Perl 5.24.0 248 249=item Lexical subroutines 250 251Introduced in Perl 5.18.0 252 253Accepted in Perl 5.26.0 254 255=item String- and number-specific bitwise operators 256 257Introduced in Perl 5.22.0 258 259Accepted in Perl 5.28.0 260 261=back 262 263=head2 Removed features 264 265These features are no longer considered experimental and their functionality 266has disappeared. It's your own fault if you wrote production programs using 267these features after we explicitly told you not to (see L<perlpolicy>). 268 269=over 8 270 271=item 5.005-style threading 272 273Introduced in Perl 5.005 274 275Removed in Perl 5.10 276 277=item perlcc 278 279Introduced in Perl 5.005 280 281Moved from Perl 5.9.0 to CPAN 282 283=item The pseudo-hash data type 284 285Introduced in Perl 5.6.0 286 287Removed in Perl 5.9.0 288 289=item GetOpt::Long Options can now take multiple values at once (experimental) 290 291C<Getopt::Long> upgraded to version 2.35 292 293Removed in Perl 5.8.8 294 295=item Assertions 296 297The C<-A> command line switch 298 299Introduced in Perl 5.9.0 300 301Removed in Perl 5.9.5 302 303=item Test::Harness::Straps 304 305Moved from Perl 5.10.1 to CPAN 306 307=item C<legacy> 308 309The experimental C<legacy> pragma was swallowed by the C<feature> pragma. 310 311Introduced in Perl 5.11.2 312 313Removed in Perl 5.11.3 314 315=item Lexical C<$_> 316 317Using this feature triggered warnings in the category 318C<experimental::lexical_topic>. 319 320Introduced in Perl 5.10.0 321 322Removed in Perl 5.24.0 323 324=item Array and hash container functions accept references 325 326Using this feature triggered warnings in the category 327C<experimental::autoderef>. 328 329Superseded by L</Postfix dereference syntax>. 330 331Introduced in Perl 5.14.0 332 333Removed in Perl 5.24.0 334 335=item C<our> can have an experimental optional attribute C<unique> 336 337Introduced in Perl 5.8.0 338 339Deprecated in Perl 5.10.0 340 341Removed in Perl 5.28.0 342 343=back 344 345=head1 SEE ALSO 346 347For a complete list of features check L<feature>. 348 349=head1 AUTHORS 350 351brian d foy C<< <brian.d.foy@gmail.com> >> 352 353SE<eacute>bastien Aperghis-Tramoni C<< <saper@cpan.org> >> 354 355=head1 COPYRIGHT 356 357Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >> 358 359=head1 LICENSE 360 361You can use and redistribute this document under the same terms as Perl 362itself. 363 364=cut 365