+{
v5.6 => {
new => [
+ ['<code>use warnings</code>'],
['<code>use utf8</code>'],
['<code>\N{named character}</code>'],
['<code>our</code>'],
distro => {
debian => 'woody',
redhat => '2.1',
+ solaris => '9', # 2002-05 eol 2014-10
},
unicode => '3.0.1',
},
v5.8 => {
new => [
- ['unicode overhaul'],
- ['PerlIO'],
+ [q`<code>no utf8; $unicode</code>`, 'unicode overhaul: additional /\p{}/ properties'],
+ [q`<code>binmode $fh, ':perlio'</code>`, 'file handle behaviour altered by PerlIO layers'],
+ [q`<code>open $fh, '-|', @cmd</code>`, 'open list to fork a command without spawning a shell'],
+ [q`<code>open $fh, '>', \$var</code>`, 'perl scalars as virtual files'],
+ [q`<code>printf '%1$s', @args</code>`, 'syntax to use parameters out of order'],
+ [q`<code>1_2_3 == 123</code>`, 'underscores between digits allowed in numeric constants'],
+# [q`<code>use if</code>`, 'conditional module inclusion'], # also installable in earlier versions
],
release => '2002-07-18',
distro => {
debian => 'sarge',
redhat => '3.9',
+ solaris => '10', # v5.8.4; 2005-01 eol 2021-01
},
unicode => '3.2.0',
},
v5.10 => {
new => [
['<code>//</code>', 'defined-or operator'],
- ['<code>~~</code>', 'smart-match operator to compare different data types'],
+ ['<code>~~</code>', 'smart-match operator to compare different data types <small>(updated in v5.10.1)</small>'],
['<code>given</code>', 'switch statement to smart-match with <code>when</code>/<code>default</code>'],
['<code>/(?<name>)/</code>', 'named capture buffers into <code>%+</code>'],
['<code>s/keep\K//</code>', 'floating positive lookbehind, efficient alternative for <code>s/(keep)/$1/</code>'],
['<code>...</code>', 'yada-yada operator: code placeholder'],
['<code>use 5.012</code>', 'Implicit <code>strict</code> if use VERSION >= v5.12'],
['<code>… when</code>', '<code>when</code> is now allowed to be used as a statement modifier'],
+ [q(<code>use overload 'qr'</code>), 'customisable conversion to regular expressions'],
+ ['<code>/\N/</code>', 'inverse \n to match any character except newline regardless of <code>/s</code>'],
],
release => '2010-04-12',
unicode => '5.2',
+ distro => {
+ solaris => '11', # also v5.8.4; 2010-11 eol 2024-11
+ },
},
v5.14 => {
new => [
['<code>__SUB__</code>', 'current subroutine reference'],
['<code>fc, "\F"</code>', 'unicode foldcase to compare case-insensitively'],
- ['<code>"\N{}"</code>', 'automatic use charnames qw( :full :short )'],
+ ['<code>"\N{}"</code>', 'automatic <code>use charnames qw( :full :short )</code>'],
],
release => '2012-05-20',
distro => {
v5.18 => {
new => [
['<code>${^LAST_FH}</code>', 'last read filehandle (used by <code>$.</code>)'],
- ['<code>/(?[ a + b ])/</code>', 'regex set operations (character substraction -, unions &)'],
+ ['<code>/(?[ a + b ])/</code>', 'regex set operations (character substraction <code>-</code>, unions <code>&</code>)'],
['<code>my sub foo</code>', 'lexical subroutines (also state, our)'],
['<code>next $expression</code>', 'loop controls allow runtime expressions'],
[q(<code>no warnings 'experimental::…'</code>), 'mechanism for experimental features, as of now required for smartmatch'],
],
release => '2013-05-18',
- distro => {
- debian => 'jessie',
- },
unicode => '6.2',
},
],
unicode => '6.3',
release => '2014-05-27',
+ distro => {
+ debian => 'jessie',
+ },
},
}