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 C<our> can now have an experimental optional attribute C<unique> 20 21Introduced in Perl 5.8.0 22 23Deprecated in Perl 5.10.0 24 25The ticket for this feature is 26L<[perl #119313]|https://rt.perl.org/rt3/Ticket/Display.html?id=119313>. 27 28=item Smart match (C<~~>) 29 30Introduced in Perl 5.10.0 31 32Modified in Perl 5.10.1, 5.12.0 33 34Using this feature triggers warnings in the category 35C<experimental::smartmatch>. 36 37The ticket for this feature is 38L<[perl #119317]|https://rt.perl.org/rt3/Ticket/Display.html?id=119317>. 39 40=item Lexical C<$_> 41 42Introduced in Perl 5.10.0 43 44Using this feature triggers warnings in the category 45C<experimental::lexical_topic>. 46 47The ticket for this feature is 48L<[perl #119315]|https://rt.perl.org/rt3/Ticket/Display.html?id=119315>. 49 50=item Pluggable keywords 51 52The ticket for this feature is 53L<[perl #119455]|https://rt.perl.org/rt3/Ticket/Display.html?id=119455>. 54 55See L<perlapi/PL_keyword_plugin> for the mechanism. 56 57Introduced in: Perl 5.11.2 58 59=item Array and hash container functions accept references 60 61Introduced in Perl 5.14.0 62 63The ticket for this feature is 64L<[perl #119437]|https://rt.perl.org/rt3/Ticket/Display.html?id=119437>. 65 66=item Lexical subroutines 67 68Introduced in: Perl 5.18 69 70See also: L<perlsub/Lexical Subroutines> 71 72Using this feature triggers warnings in the category 73C<experimental::lexical_subs>. 74 75The ticket for this feature is 76L<[perl #120085]|https://rt.perl.org/rt3/Ticket/Display.html?id=120085>. 77 78=item Regular Expression Set Operations 79 80Introduced in: Perl 5.18 81 82The ticket for this feature is 83L<[perl #119451]|https://rt.perl.org/rt3/Ticket/Display.html?id=119451>. 84 85See also: L<perlrecharclass/Extended Bracketed Character Classes> 86 87Using this feature triggers warnings in the category 88C<experimental::regex_sets>. 89 90=item C<\s> in regexp matches vertical tab 91 92Introduced in Perl 5.18 93 94=item Subroutine signatures 95 96Introduced in Perl 5.20.0 97 98Using this feature triggers warnings in the category 99C<experimental::signatures>. 100 101The ticket for this feature is 102L<[perl #121481]|https://rt.perl.org/Ticket/Display.html?id=121481>. 103 104=item Postfix dereference syntax 105 106Introduced in Perl 5.20.0 107 108Using this feature triggers warnings in the category 109C<experimental::postderef>. 110 111The ticket for this feature is 112L<[perl #120162]|https://rt.perl.org:443/rt3/Ticket/Display.html?id=120162>. 113 114=item The <:win32> IO pseudolayer 115 116The ticket for this feature is 117L<[perl #119453]|https://rt.perl.org/rt3/Ticket/Display.html?id=119453>. 118 119See also L<perlrun> 120 121=item There is an C<installhtml> target in the Makefile. 122 123The ticket for this feature is 124L<[perl #116487]|https://rt.perl.org/rt3/Ticket/Display.html?id=116487>. 125 126=item Unicode in Perl on EBCDIC 127 128=back 129 130=head2 Accepted features 131 132These features were so wildly successful and played so well with others that 133we decided to remove their experimental status and admit them as full, stable 134features in the world of Perl, lavishing all the benefits and luxuries thereof. 135They are also awarded +5 Stability and +3 Charisma. 136 137=over 8 138 139=item 64-bit support 140 141Introduced in Perl 5.005 142 143=item die accepts a reference 144 145Introduced in Perl 5.005 146 147=item DB module 148 149Introduced in Perl 5.6.0 150 151See also L<perldebug>, L<perldebtut> 152 153=item Weak references 154 155Introduced in Perl 5.6.0 156 157=item Internal file glob 158 159Introduced in Perl 5.6.0 160 161=item fork() emulation 162 163Introduced in Perl 5.6.1 164 165See also L<perlfork> 166 167=item -Dusemultiplicity -Duseithreads 168 169Introduced in Perl 5.6.0 170 171Accepted in Perl 5.8.0 172 173=item Support for long doubles 174 175Introduced in Perl 5.6.0 176 177Accepted in Perl 5.8.1 178 179=item The C<\N> regex character class 180 181The C<\N> character class, not to be confused with the named character 182sequence C<\N{NAME}>, denotes any non-newline character in a regular 183expression. 184 185Introduced in Perl 5.12 186 187Exact version of acceptance unclear, but no later than Perl 5.18. 188 189=item C<(?{code})> and C<(??{ code })> 190 191Introduced in Perl 5.6.0 192 193Accepted in Perl 5.20.0 194 195See also L<perlre> 196 197=item Linux abstract Unix domain sockets 198 199Introduced in Perl 5.9.2 200 201Accepted before Perl 5.20.0. The Socket library is now primarily maintained 202on CPAN, rather than in the perl core. 203 204See also L<Socket> 205 206=item Lvalue subroutines 207 208Introduced in Perl 5.6.0 209 210Accepted in Perl 5.20.0 211 212See also L<perlsub> 213 214=item Backtracking control verbs 215 216C<(*ACCEPT)> 217 218Introduced in: Perl 5.10 219 220Accepted in Perl 5.20.0 221 222=item The <:pop> IO pseudolayer 223 224See also L<perlrun> 225 226Accepted in Perl 5.20.0 227 228=back 229 230=head2 Removed features 231 232These features are no longer considered experimental and their functionality 233has disappeared. It's your own fault if you wrote production programs using 234these features after we explicitly told you not to (see L<perlpolicy>). 235 236=over 8 237 238=item 5.005-style threading 239 240Introduced in Perl 5.005 241 242Removed in Perl 5.10 243 244=item perlcc 245 246Introduced in Perl 5.005 247 248Moved from Perl 5.9.0 to CPAN 249 250=item The pseudo-hash data type 251 252Introduced in Perl 5.6.0 253 254Removed in Perl 5.9.0 255 256=item GetOpt::Long Options can now take multiple values at once (experimental) 257 258C<Getopt::Long> upgraded to version 2.35 259 260Removed in Perl 5.8.8 261 262=item Assertions 263 264The C<-A> command line switch 265 266Introduced in Perl 5.9.0 267 268Removed in Perl 5.9.5 269 270=item Test::Harness::Straps 271 272Moved from Perl 5.10.1 to CPAN 273 274=item C<legacy> 275 276The experimental C<legacy> pragma was swallowed by the C<feature> pragma. 277 278Introduced in: 5.11.2 279 280Removed in: 5.11.3 281 282=back 283 284=head1 SEE ALSO 285 286For a complete list of features check L<feature>. 287 288=head1 AUTHORS 289 290brian d foy C<< <brian.d.foy@gmail.com> >> 291 292SE<eacute>bastien Aperghis-Tramoni C<< <saper@cpan.org> >> 293 294=head1 COPYRIGHT 295 296Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >> 297 298=head1 LICENSE 299 300You can use and redistribute this document under the same terms as Perl 301itself. 302 303=cut 304