perl: code example as feature attribute
[sheet.git] / perl.inc.pl
index faf530eb1bf213d013668e670badde7612e5f74c..ba330baddc1bc671c1c70d843c39943362c8e449 100644 (file)
@@ -59,13 +59,23 @@ use utf8;
        v5.8 => {
                new => [
                        [q"<code>no utf8</code>", 'full unicode support, <code>utf8</code> pragma only for script encoding', {name => 'utf8_data'}],
-                       [q"<code>binmode $fh, ':perlio'</code>", 'file handle behaviour altered by PerlIO layers', {name => 'perlio'}],
+                       [q"<code>use open</code>", 'file handle behaviour altered by PerlIO layers', {name => 'perlio', eg => 'binmode $fh, ":bytes"'}],
                        [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
                ],
+               modules => [
+                       [Digest => 'calculate various message digests (data hashes)', '$hash = sha256_hex($data)'],
+                       [Encode => 'character set conversion', 'encode("utf8", decode("iso-8859-1", $octets))'],
+                       #[sort => 'control sort() behaviour'],
+                       ['List::Util' => 'general-utility list subroutines', '@cards = shuffle 0..51'],
+                       ['MIME::Base64' => 'base64 encoded strings as in email attachments'],
+                       [open => 'set default PerlIO layers'],
+                       ['Test::More' => 'modern framework for unit testing', 'is $got, $expected'],
+                       ['Time::HiRes' => 'high resolution timers', '$μs = [gettimeofday]; sleep .1; $elapsed = tv_interval $μs'],
+               ],
                release => '2002-07-18',
                distro => {
                        debian => '3.1', # sarge 2005-06 eol 2008-03, v5.8.8 in etch 2007-04 eol 2010-02