['<code><<>></code>', 'safe <code>readline</code> ignoring open flags in arguments'],
['<code>/()/n</code>', 'flag to disable numbered capturing, turning <code>()</code> into <code>(?:)</code>'],
['<code>/\b{}/</code>', 'boundary types: <em>gcb</em> (grapheme cluster), <em>sb</em> (sentence), <em>wb</em> (word)'],
- ['<code>&.</code>', '<code>& | ^ ~</code> consistently numeric, dotted operators for strings', {experimental => 'bitwise'}],
+ ['<code>&.</code>', '<code>& | ^ ~</code> consistently numeric, dotted operators for strings', {feature => 'bitwise', experimental => 'bitwise', stable => v5.28}],
[q"<code>use re 'strict'</code>", 'apply stricter syntax rules to regular expression patterns', {experimental => 're_strict'}],
['<code>0x.beep+0</code>', q"hexadecimal floating point notation with binary power; <code>printf '%a'</code> to display"],
],
ubuntu => '17.10', # artful
},
},
+
+ v5.28 => {
+ new => [
+ ['<code>delete %hash{…}</code>', 'hash slices can be deleted with key+value pairs'],
+ ['<code>/(*…)/</code>', 'alphabetic synonyms for assertions, e.g. <code>(*atomic:…)</code> for <code>(?>…)</code> and <code>(*nlb:…)</code> for <code>(?<!…)</code>', {experimental => 'alpha_assertions'}],
+ ['<code>/(*script_run:)/</code>', 'enforces all characters to be from the same script', {experimental => 'script_run'}],
+ ['<code>state @a</code>', 'persistent lexical array or hash variables'],
+ ['<code>perl -i -pe die</code>', 'safe in-place editing: files are replaced only after successful completion'],
+ ['<code>${^SAFE_LOCALES}</code>', 'locales are thread-safe on supported systems, indicated by this variable'],
+ ],
+ unicode => '10.0',
+ release => '2018-06-22',
+ distro => {
+ },
+ },
}