In perl.git, the branch maint-5.20 has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/914a1490e4fa9281dea8cc4cac5c9f8791210f94?hp=69aabb7819a9fba427cb752aa7b59cc53ef51cd8>

- Log -----------------------------------------------------------------
commit 914a1490e4fa9281dea8cc4cac5c9f8791210f94
Author: Steve Hay <[email protected]>
Date:   Tue Jan 13 08:56:47 2015 +0000

    perldelta: Move previous item to Errata From Previous Releases
    
    This item should have appeared in 5.20.1's perldelta, but I forgot to
    include it.

M       pod/perldelta.pod

commit 2c55af43cb38a77d5bef9104361758c081ff78ef
Author: Karl Williamson <[email protected]>
Date:   Sun Sep 14 09:17:41 2014 -0600

    perldelta: Entry for [perl #122655].
    
    5.20 regression: '"X" !~ /[x]/i'
    
    It looks like this patch, included in 5.20.1, did not get a perldelta
    entry for that release.
    
    (cherry picked from commit 6ff8f256561a974b63b784ae8681c284ada44f7a)

M       pod/perldelta.pod

commit 890e08f997ee43b4ffd445afe882e287c77b9c15
Author: Slaven Rezic <[email protected]>
Date:   Fri Dec 26 21:21:03 2014 +0100

    perlfunc: another alternative for enabling the "state" feature
    
    (cherry picked from commit 62fedd514941642472e01795828f42ddd04477eb)

M       pod/perlfunc.pod

commit 721b1e599efa3670e61d190717d4c69579bd26db
Author: Steve Hay <[email protected]>
Date:   Wed Dec 24 14:49:59 2014 +0000

    RMG: Note that Porting/release_schedule.pod should be updated
    
    (cherry picked from commit d274ee9d7b1765ee3032fac39cbc2e77b0d2f194)

M       Porting/release_managers_guide.pod

commit 8fe6a6173c33d38ceebd866a1dd656db60bc3216
Author: Steve Hay <[email protected]>
Date:   Wed Dec 24 14:49:31 2014 +0000

    Note that 5.21.6 and 5.21.7 are released
    
    (cherry picked from commit d920a62f19f2d30ca8fdefafb1e3173d525957db)

M       Porting/release_schedule.pod

commit e93832a4fc3062651dd94056daf25ca486a0de73
Author: Father Chrysostomos <[email protected]>
Date:   Sat Nov 8 22:06:55 2014 -0800

    release_schedule.pod: Correct some versions
    
    (cherry picked from commit 0afd0f200f29d255c3e9a8213092bf6907f3efc2)

M       Porting/release_schedule.pod

commit 1fe9b1c80b1357b9f4eb1e509e390389f666e042
Author: Ricardo Signes <[email protected]>
Date:   Sat Nov 8 23:18:39 2014 -0500

    release schedule: 5.18.4 shipped, 5.18.5 may happen
    
    (cherry picked from commit 34b5033e3abef07672d7dfa110b7f89bbf4308f8)

M       Porting/release_schedule.pod

commit 58744824b01f41cb3afbd65c1a8ba1af4abc422c
Author: Ricardo Signes <[email protected]>
Date:   Sat Nov 8 23:18:19 2014 -0500

    release schedule: the v5.22 landing plan
    
    (cherry picked from commit 63bd8e4b6a0da02940b663302e1e0775e36d2c07)

M       Porting/release_schedule.pod

commit d7cbd1855825042ca2e8350189c3ee418dc789cc
Author: Abigail <[email protected]>
Date:   Thu Oct 23 00:04:28 2014 +0200

    5.21.5 has been ticked off
    
    (cherry picked from commit 5695ab3c9022fbf13698540bb845a4d1ab200701)

M       Porting/release_schedule.pod

commit 13b76668b111a9f8a366ec82853b3560c0dacf0f
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Mon Sep 29 19:45:44 2014 +0100

    Tick that v5.21.4 got a release in the schedule
    
    (cherry picked from commit ba27e2b14916d249d8db56bdf41409034871a54a)

M       Porting/release_schedule.pod

commit 6a1b08f7f2474ffbd60143c8713c68f791b495a8
Author: Steve Hay <[email protected]>
Date:   Tue Sep 16 08:53:07 2014 +0100

    Update 5.20 release schedule: Plan for 5.20.2 in January
    
    And add a missing development release engineer to the list.
    
    (cherry picked from commit 4ed1f7f9ddcf3a92cab8beab7f52048cda246f44)

M       Porting/release_schedule.pod

commit 18dfbd662095c8c1bcdca530089433a28361430a
Author: Ricardo Signes <[email protected]>
Date:   Mon Sep 15 18:19:28 2014 -0400

    release schedule: Max M. will do December 2014
    
    (cherry picked from commit ce98a8cbcc62ba1e5eceafb381453aff6ac4471f)

M       Porting/release_schedule.pod

commit af73621224292872ad60068decf3651412567402
Author: Ricardo Signes <[email protected]>
Date:   Mon Sep 8 22:23:33 2014 -0400

    release schedule: add managers for 5.21.6, 5.21.8
    
    (cherry picked from commit 669097fff733d4ce9c6014ada9aff3664840b185)

M       Porting/release_schedule.pod

commit da307d4930a1bb148c2effd5c7f6c12797fb6461
Author: Ricardo Signes <[email protected]>
Date:   Mon Sep 1 09:55:45 2014 -0400

    release schedule: put Abigail on for October
    
    (cherry picked from commit 2d698e9fdf1acde369d23c80aaa35ca7ec046866)

M       Porting/release_schedule.pod

commit e1db1f004db7a6499cc01b40623aca7e91daba39
Author: Steve Hay <[email protected]>
Date:   Mon Aug 25 21:39:35 2014 +0100

    Update release schedule
    
    (cherry picked from commit 987ee32fd0939704c66e74c46ba0eea50742264e)

M       Porting/release_schedule.pod

commit 739d2482a18df2f3f6b7d078da979f246d8d25b6
Author: Abigail <[email protected]>
Date:   Sat Jul 19 18:36:11 2014 +0200

    Tick off the 5.20.0 and 5.20.1 releases.
    
    (cherry picked from commit cf217b12874de6af9cdcd4724a3264a76a18b6d3)

M       Porting/release_schedule.pod

commit 98d7414ee3c222d310b0f13884fd5e4ab0167f46
Author: Abigail <[email protected]>
Date:   Sat Jul 19 18:34:08 2014 +0200

    "all question marks" is ambigious.
    
    Because if just a single question mark is used, it means the release
    manager is unknown. Only if multiple question marks are used it
    means it isn't known whether this release will happen.
    
    (cherry picked from commit 53e6b8f769d9ca5cc081dcdb870bb0caf1f547d3)

M       Porting/release_schedule.pod

commit a6ed67357fcea36d36543a29080ea2e6d824fab1
Author: Ricardo Signes <[email protected]>
Date:   Thu Jun 5 21:23:58 2014 -0400

    update release schedule
    
    (cherry picked from commit c9c069a80cd6db03fee67709169313182e418963)

M       Porting/release_schedule.pod

commit e54ee5fe00dab7a5e9c0341bfd9730ca1d07ff03
Author: Ricardo Signes <[email protected]>
Date:   Thu Jun 5 14:28:23 2014 -0400

    update release schedule
    
    (cherry picked from commit ea61af38ef61f87b08df7076da2908856ca87604)

M       Porting/release_schedule.pod

commit ed53389d627c70738033dae700577ae35d5e247d
Author: Max Maischein <[email protected]>
Date:   Sun Dec 21 10:01:21 2014 +0100

    Update epigraphs.pod
    
    (cherry picked from commit d171d861d6628c21e57b207db12486ac035da531)

M       Porting/epigraphs.pod

commit ce60ca9a019f50d9dbe2e6f3d189fa460bfc0975
Author: Max Maischein <[email protected]>
Date:   Sat Dec 20 15:52:25 2014 +0100

    add new release to perlhist
    
    (cherry picked from commit 846dac6786c1ada87b95d0268c0a9772a4bd04fc)

M       pod/perlhist.pod

commit 687f5a800f3850dc298623aa2ff4364a70984856
Author: Karen Etheridge <[email protected]>
Date:   Thu Dec 18 11:17:56 2014 -0800

    include reference to metacpan.org; refer to the module-authors list instead 
of modules, and include a link to the subscription page
    
    (cherry picked from commit 4eea8a8bce5fd908572c50464cc4216df1f0bc57)

M       pod/perlmodstyle.pod

commit 126a4720f3db66b564a82e4e32f4b533e8acb0b1
Author: Aristotle Pagaltzis <[email protected]>
Date:   Tue Jan 13 08:46:51 2015 +0000

    perl.pod: Use consistent perldelta order
    
    (cherry picked from commit d114830901d62f712502caecc496b189619643d5)

M       pod/perl.pod

commit b2ad0ebb5efb1e123cd51360c0883dd3762af97e
Author: Karl Williamson <[email protected]>
Date:   Wed Nov 26 19:54:22 2014 -0700

    perluniintro: Vertically stack ternarys
    
    It's clearer and sets a better example for the reader
    
    (cherry picked from commit 96cfa1df465e71dba7e2099fc37db1b569d300b4)

M       pod/perluniintro.pod

commit a67cb8d393d2c91b6eb8731bfac7b8d58be01bcf
Author: Father Chrysostomos <[email protected]>
Date:   Tue Dec 9 12:33:37 2014 -0800

    perlpolicy: Be explicit wrt crashing bug policy
    
    This new wording states explicitly what has been the de facto under-
    standing of this policy of late.
    
    (cherry picked from commit 4c0ef2088519deeee7642c58f661b5d8a70ccf2f)

M       pod/perlpolicy.pod

commit d59a5eda148029e04b51f3beec2fa4d05404f2f4
Author: Shlomi Fish <[email protected]>
Date:   Tue Jan 13 08:41:20 2015 +0000

    Convert tabs to spaces and remove trailing space.
    
    For: RT #123377
    (cherry picked from commit 15faabe4bd597caa63a35d745cc5e93792a347dc)

M       pod/perlsyn.pod

commit 204bfbc70f49f494e48e5c4f13cbfbac43294ec9
Author: Shlomi Fish <[email protected]>
Date:   Thu Oct 16 12:25:30 2014 +0300

    perlfork.pod: convert "\t"s to spaces.
    
    For: RT #122987 (second part)
    (cherry picked from commit e6ebbe921e63dbd445aa30e30a0b2b80574b88a0)

M       pod/perlfork.pod

commit 665b5483a10507d5f8183c365ec7d2f2f5b221bb
Author: Shlomi Fish <[email protected]>
Date:   Thu Oct 16 12:20:22 2014 +0300

    Remove trailing whitespace.
    
    For: RT #122987 (first part)
    (cherry picked from commit 0e3be540c5c5d8ec7d6c682091855e8865b99b51)

M       pod/perlfork.pod

commit f01d6e0451c4e2f292af06f16b7a3394adf6abef
Author: Shlomi Fish <[email protected]>
Date:   Thu Oct 16 11:43:06 2014 +0300

    Convert "\t"s to spaces in perlref.pod.
    
    For: RT #122986
    (cherry picked from commit 5566fa1536b7e3ab06bf74ce785d42d16c663791)

M       pod/perlref.pod

commit 47d7be8ebb82e78ab512fa73330e3abd52dcdac2
Author: Jim Cromie <[email protected]>
Date:   Tue Jan 13 08:39:49 2015 +0000

    Storable: fixup pod wording
    
    fix grammar, eschew colloquial expression - s/turned into/converted to/
    
    Increment Storable $VERSION.
    
    For: RT #123271
    (cherry picked from commit 1b0fd1e8346658cb037cc394f0c428007124b916)
    
    [Edited by the committer to bump the $VERSION to a value that has not
    already been used and will not be used in the future.]

M       dist/Storable/Storable.pm

commit 11ac1c4ac642a364b94af15ebf2f8eaf90a80150
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Fri Nov 21 00:56:30 2014 +0000

    Update perlhist for v5.21.6
    
    (cherry picked from commit 7eb19200f4ef00b9a61884cbb755b9621b9c701d)

M       pod/perlhist.pod

commit 3a92aeda2a9f3d9d3f86b4ecdbc17b908e449b16
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Fri Nov 21 00:08:28 2014 +0000

    Add epigraph for v5.21.6
    
    (cherry picked from commit 11741df4ee8d4b20d3e30f7f1b613a8d1b891059)

M       Porting/epigraphs.pod

commit 4ccdfef27910213a8f7cb1fbcb7e3814aec9530c
Author: James E Keenan <[email protected]>
Date:   Mon Nov 17 18:58:09 2014 -0500

    Add word missing from docs for 'wait' function.
    
    Minor POD-formatting changes.
    
    Add Johann 'Myrkraverk' Oskarsson to Perl AUTHORS.
    
    For: RT #123230
    (cherry picked from commit 42c583b4b82b42bf02f26ea582ecfb3e94af8cc5)

M       AUTHORS
M       pod/perlfunc.pod

commit d97adcac03c961443485e36827940167d6c303ef
Author: Karl Williamson <[email protected]>
Date:   Wed Nov 5 22:44:17 2014 -0700

    perlfunc: Fix typo
    
    (cherry picked from commit 86ceb7c6d74c3ecff8db4296861f8ededaa286a8)

M       pod/perlfunc.pod

commit 53980619a156c16e74fe158be3bfe81d966986b0
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Tue Nov 11 11:30:45 2014 +0000

    Trailing whitespace removed in perlport.pod
    
    (cherry picked from commit 2890cc8c9f56ed8f91a8a6134e7b2fb7beb23f38)

M       pod/perlport.pod

commit 282e9696b2799d040097a254d5dd2a0988fef848
Author: Karl Williamson <[email protected]>
Date:   Tue Jan 13 08:38:04 2015 +0000

    perllocale: Nits and clarifications
    
    (cherry picked from commit 663d437af9b7e1191e696b500650bce9e74fde08)

M       pod/perllocale.pod

commit 7d84dccdbcad7bcf7d303d015e7605eaa0a8cb46
Author: Father Chrysostomos <[email protected]>
Date:   Tue Sep 16 17:58:50 2014 -0700

    perliol.pod: Correct flags type in _PerlIO struct
    
    This is not the only change that was not reflected in the docs.  There
    is also a PerlIOl *head member, but I don’t know whether this should
    be considered public and documented.
    
    (cherry picked from commit 90a44ae623db0999c98093c3bb234c1479755a2c)

M       pod/perliol.pod

commit 6a31a31fda9694305b57259457fc4605832dbdbe
Author: Tony Cook <[email protected]>
Date:   Tue Jan 13 08:35:23 2015 +0000

    perldelta for 7eb3f2cf1bb0
    
    (cherry picked from commit bab69578a8b6966781f8808f12d668db87fc7778)

M       pod/perldelta.pod

commit d99f4a9e15cdab0ad1839f70c842b43aa8b32776
Author: Tony Cook <[email protected]>
Date:   Mon Nov 3 11:39:57 2014 +1100

    Glenn D. Golden is now a perl AUTHOR
    
    (cherry picked from commit 577437f753b1e6471709f6b5fa50908fa9754178)

M       AUTHORS

commit ff961592ad40ed356b3bb10e84dedf788d2807d9
Author: Tony Cook <[email protected]>
Date:   Mon Nov 3 11:39:42 2014 +1100

    bump $IO::Socket::VERSION to 1.38
    
    (cherry picked from commit d7adc1ec0500a4328cb0a521f0465954fa2325cb)

M       dist/IO/lib/IO/Socket.pm

commit 1eead555a692a699b3ab2c3b1989fa095575c414
Author: Glenn D. Golden <[email protected]>
Date:   Tue Oct 28 04:24:04 2014 -0600

    Improve connected() doc
    
    (cherry picked from commit 7eb3f2cf1bb02dbe7d9bf2f9fe40d45164eeaf2a)

M       dist/IO/lib/IO/Socket.pm

commit 6955c8cbec6bf4270e1e086d0ce5f5f77390d9e7
Author: Father Chrysostomos <[email protected]>
Date:   Fri Oct 31 22:30:21 2014 -0700

    perlfunc: Mention map {;...} convention
    
    since it is probably more common than { +... }.
    
    (cherry picked from commit 24fe90a14d91f512527a158a02ea19d502723856)

M       pod/perlfunc.pod

commit fa423071f5ad794283f244862241d1fc2c2a1d73
Author: Shlomi Fish <[email protected]>
Date:   Wed Oct 29 11:43:19 2014 +0200

    $a,$b deprecation in perlop.pod.
    
    For: RT #123081 (partial)
    (cherry picked from commit db69102781c2515ff4657c48b95696c5f5e3bb78)

M       pod/perlop.pod

commit acd6e9e9c6c798efda84d072f71c262cb9e20e9e
Author: Shlomi Fish <[email protected]>
Date:   Wed Oct 29 11:19:21 2014 +0200

    Move away from $a and $b for examples.
    
    pod/perlvar.pod this time.
    
    For: RT #123081 (partial)
    (cherry picked from commit 592708b4f2c747075fb01e3ad9276a2a9b338f27)

M       pod/perlvar.pod

commit 0b033e38f5140edacddad1b24fa10bb644b11dcf
Author: Shlomi Fish <[email protected]>
Date:   Wed Oct 29 11:06:30 2014 +0200

    Move the POD away from $a and $b.
    
    They are built ins and should not be used or overrided. Currently doing
    pod/perlthrtut.pod .
    
    For: RT #123081 (partial)
    (cherry picked from commit 920aefcab1aef66ce585b8cc2f371ae5bfc9ee63)

M       pod/perlthrtut.pod

commit 09131d99c99a133f9ec1e5464d9e2e33bccd1377
Author: Doug Bell <[email protected]>
Date:   Sun Aug 31 03:15:35 2014 -0500

    git format-patch -M option takes branch
    
    (cherry picked from commit 5df244132ec94f1e67bd70db61d4ea89bd824b00)

M       pod/perlgit.pod

commit 130f654de9944e552cedf9497a31c806e060e3b5
Author: Doug Bell <[email protected]>
Date:   Sun Aug 31 03:17:42 2014 -0500

    make it clear not to use git-send-email at all
    
    (cherry picked from commit c981563317d1c97170a53c9a89a80456442ed201)

M       pod/perlgit.pod

commit 3f25d02fe2ec5ea30436d4b04c8e5bc1e89c8774
Author: Steve Hay <[email protected]>
Date:   Tue Jan 13 08:33:11 2015 +0000

    More actions to take when bumping the version number.
    
    Manually backported from 82ce0493f7 since the regen/opcode.pl part does not
    apply to maint-5.20.

M       Porting/release_managers_guide.pod

commit 31d7e6f70e469b817fcc8bd5c08369623c5a22c5
Author: Abigail <[email protected]>
Date:   Mon Oct 20 20:01:40 2014 +0200

    Epigraph for 5.21.5
    
    (cherry picked from commit b22c1b06a22800628b336f577cd4b6ed0eb4956e)

M       Porting/epigraphs.pod

commit a50b8bc374d568819cb22a4819ffd30146a04aa6
Author: Abigail <[email protected]>
Date:   Mon Oct 20 16:38:09 2014 +0200

    Added 5.21.5 release to perlhist
    
    (cherry picked from commit dbc8a3c9dcdb7b612305e7aad911da31d7d95bf5)

M       pod/perlhist.pod

commit b0eeaedcded2ba018c2966f94c0ddbcae488c133
Author: Abigail <[email protected]>
Date:   Mon Oct 20 15:04:17 2014 +0200

    Use F<> for files, not L<>
    
    (cherry picked from commit 5bbd8f6148989e1b869c92ef5ec0dfee009597a4)

M       Porting/release_managers_guide.pod

commit cc1c5dc136c4211b5334c8c6143c236ebe29cb5b
Author: Abigail <[email protected]>
Date:   Mon Oct 20 13:59:58 2014 +0200

    List files to modify.
    
    Explicitely list the files to modify when upping/checking the VERSION
    of the various CoreList modules, for easy copy-and-pasting.
    
    I grew tired of running find.
    
    (cherry picked from commit 94691c1944f5865db239971507a705046fa2ce71)

M       Porting/release_managers_guide.pod

commit 060e57d3a4d31c8a35bd99bf324e25058b3e760b
Author: Karl Williamson <[email protected]>
Date:   Sun Oct 19 08:57:26 2014 -0600

    perlvar: Note a deprecation
    
    (cherry picked from commit b44599e0887245dbbe59018b78901326db7e230c)

M       pod/perlvar.pod

commit 359452dda1e7c3f03b296567160f9a4e8d208c7c
Author: James E Keenan <[email protected]>
Date:   Thu Oct 16 19:07:59 2014 -0400

    Update Perl 5 Porter list archives.
    
    For: RT # 122996
    (cherry picked from commit 586e992d6da290482e162f13db0dd3f4533b4cd6)

M       pod/perlhack.pod

commit 204622d753e44fec2a8a36fe5c131d161db8443f
Author: Shlomi Fish <[email protected]>
Date:   Fri Oct 10 10:12:09 2014 +0300

    Modernized an example in perlipc.pod.
    
    1. Convert to use strict + use warnings.
    
    2. Changed a while(++ loop) to while(1) { ++ }.
    
    Committer revised patch per suggestions in RT # 122938.
    
    (cherry picked from commit 8bc5de207a4b3d333e9c6535bd21b8f0b1381270)

M       pod/perlipc.pod

commit 2c6395ed2f0e9084c6c6b88bf7f5652e04f132c5
Author: Father Chrysostomos <[email protected]>
Date:   Sun Oct 12 18:04:38 2014 -0700

    perlguts typo
    
    (cherry picked from commit eee3e3021df1a54fbbae497b1d1c817aa9f2fc29)

M       pod/perlguts.pod

commit ef9b20adc2e237f03cca9407b429dc45f4d725c9
Author: Shlomi Fish <[email protected]>
Date:   Mon Jun 10 01:12:08 2013 +0300

    Remove trailing space from perlipc.pod.
    
    For: RT #122938 (first patch)
    (cherry picked from commit 82f82fdb58cb3bf9651ec1ba6904780eb1105021)

M       pod/perlipc.pod

commit 697207ae897aea5a844984f15477de7cdc93267c
Author: Shlomi Fish <[email protected]>
Date:   Fri Oct 10 15:33:39 2014 +0300

    remove trailing whitespace.
    
    For: RT #122942 (first patch)
    (cherry picked from commit d962e43687db045a52ba2406aafccd53e6af23ff)

M       pod/perlref.pod

commit b4bd78fcfe64954a90f52f7d405fd631f135f5bf
Author: Daniel Dragan <[email protected]>
Date:   Tue Oct 7 02:47:15 2014 -0400

    improve and reword README.win32
    
    (cherry picked from commit 8f5839a98a66edafefd2ffd3056e5e3fc64e1d27)

M       README.win32

commit dfe27260b185cb7081ff5d01c059d0408ef5c24b
Author: Father Chrysostomos <[email protected]>
Date:   Sat Oct 4 05:56:11 2014 -0700

    Consistent spaces after dots in perlfunc
    
    (cherry picked from commit 2a2626d8512fc09c6ef077095e4e075978a5c2df)

M       pod/perlfunc.pod

commit 5211bf37d8849703b7607292f2d1f70164daff85
Author: Doug Bell <[email protected]>
Date:   Thu Oct 2 22:52:24 2014 -0500

    clarify use VERSION docs
    
    Anything that C<use VERSION> adds, another C<use VERSION> may take away.
    Explicitly doing the C<use strict> and/or C<use feature> means that
    C<use VERSION> will not change them. C<use VERSION> will only change
    the defaults, or things done by C<use VERSION>.
    
    (cherry picked from commit b39691c2f7d54897113063413c374b78418a1684)

M       pod/perlfunc.pod

commit b2ec9f8b50da6451a00471034c05e90849ff730c
Author: Ricardo Signes <[email protected]>
Date:   Wed Oct 1 21:26:20 2014 -0400

    perlhist: bring in 5.18.3 and 5.18.4 release dates
    
    (cherry picked from commit 086feb3e31adb54d781926d7d8df06c266c39fae)

M       pod/perlhist.pod

commit edb17734f8d9c91b9eb0d7543687380e30484ae7
Author: Ricardo Signes <[email protected]>
Date:   Wed Oct 1 21:19:16 2014 -0400

    import latest epigraphs from maint-5.18
    
    (cherry picked from commit 8bbce0b10dd8ea0fad79a905746218306cf4fe17)

M       Porting/epigraphs.pod

commit 8e477b09d0c86123da9f45fd816a3152bb667d14
Author: Steve Hay <[email protected]>
Date:   Thu Sep 25 09:02:16 2014 +0100

    RMG - RCs are now listed in perlhist
    
    (cherry picked from commit 5e2d14fc932c50279eb04ac71b3d87d785d61420)

M       Porting/release_managers_guide.pod

commit 160092deec2d8776855158160cc4054039ae8665
Author: Steve Hay <[email protected]>
Date:   Thu Sep 25 09:00:08 2014 +0100

    RMG - Remove out-of-date instruction about epigraph link
    
    Thanks to the revelation of the X-List-Archive header (see 70d95cc994) we
    no longer need to add the epigraph link on the day after.
    
    (cherry picked from commit 282f36d45b3fd6109df025ed2228f0019b49c2e5)

M       Porting/release_managers_guide.pod

commit a9b38b5620b981bb677a44ed8761a4210b952fcb
Author: Steve Hay <[email protected]>
Date:   Thu Sep 25 08:56:35 2014 +0100

    RMG - Even RCs these days generally get an epigraph
    
    (cherry picked from commit dffcb1c02065e74cff64fd076677292796ee9845)

M       Porting/release_managers_guide.pod

commit 0ace112a2516606adeb611e3c65d7eba7077e854
Author: Steve Hay <[email protected]>
Date:   Thu Sep 25 08:53:32 2014 +0100

    RMG - Note why it is that MAINT is version-bumped late rather than early
    
    Thanks to Nicholas Clark for pulling this reasoning from his memory banks.
    
    (cherry picked from commit 5f9f8ddf9ebc952fad1c1747b597e0d1162feac8)

M       Porting/release_managers_guide.pod

commit ebf2ba69cdfc54299b055cf5c1fe4fc664aa0a58
Author: Father Chrysostomos <[email protected]>
Date:   Wed Sep 24 21:59:58 2014 -0700

    Consistent spaces after dots in perlmodstyle
    
    (cherry picked from commit 369236063a992c09b5fd6efb6f0910bd1d5effcd)

M       pod/perlmodstyle.pod

commit fee2fe9558192e438cd8aa0fe59fdd685508dc68
Author: Father Chrysostomos <[email protected]>
Date:   Wed Sep 24 21:52:41 2014 -0700

    Long verbatim lines in perlmodstyle
    
    (cherry picked from commit fbff26bcac0ac41e44778278aca063f82c1d70e0)

M       pod/perlmodstyle.pod

commit fb56e79c86e61539642a3a9aa4b84ac62c374398
Author: Father Chrysostomos <[email protected]>
Date:   Wed Sep 24 21:50:53 2014 -0700

    Add Ed J to AUTHORS
    
    (cherry picked from commit 8eff31e6ddbcd94a1ff3d6489062907d5b84d9d9)

M       AUTHORS

commit 6929754339c948d7a32c83a94d65ba58afe673be
Author: Ed J <[email protected]>
Date:   Tue Sep 16 07:06:23 2014 +0100

    perlmod and perlstyle improvements
    
    • Outward links for perlmod
    • Tweak perlmodstyle version notes
    • Link perlnewmod to perlmodstyle
    
    (cherry picked from commit 69520e41a46ec3b965c16d2280719fe904dc844a)

M       pod/perlmod.pod
M       pod/perlmodstyle.pod
M       pod/perlnewmod.pod

commit ea97530f7d4112da42f09d4f8f2610baabbbc93c
Author: Ricardo Signes <[email protected]>
Date:   Wed Sep 24 20:21:17 2014 -0400

    perlpolicy: clarify that bans related to RT as well as p5p
    
    (cherry picked from commit 522c63f2ecc9e36821528bb96cb98f39509068fb)

M       pod/perlpolicy.pod

commit 154dc95c3831bd9ec9f3a8aeacc53c03c52b4f1f
Author: Father Chrysostomos <[email protected]>
Date:   Mon Sep 22 22:47:55 2014 -0700

    Consistent spaces after dots in perlop
    
    (cherry picked from commit 46f8a5eafc5328639a1c6ff58ff2407a39b09c04)

M       pod/perlop.pod

commit 0fc59d1f7912e0cece171839d94b71ff218bab97
Author: Father Chrysostomos <[email protected]>
Date:   Tue Jan 13 08:27:22 2015 +0000

    Consistent spaces after dots in perlapi
    
    (cherry picked from commit 7e234f81b6d7325dd91edae7737f9bd69a91fc73)
    
    [Except for the op.c part, which maint-5.20 does not have.]

M       sv.c
M       sv.h

commit 89ba9ce1068bba81528959153dfaa233302daabb
Author: Steve Hay <[email protected]>
Date:   Sat Sep 20 14:48:07 2014 +0100

    Add epigraph for 5.12.4
    
    (cherry picked from commit 28c2c58fe259cabc1510ac5b4c5ead3a7c0321d2)

M       Porting/epigraphs.pod

commit 07b03ef8b3674fa0ef7465917533a9011fc5cfc0
Author: Steve Hay <[email protected]>
Date:   Sat Sep 20 11:03:38 2014 +0100

    Perl 5.21.4 today
    
    (cherry picked from commit 84c122ba1d2b7b856521ceffc2a095716a739335)

M       pod/perlhist.pod

commit db4e7be7d78ca654b3c12777b36afc8babd9db29
Author: Steve Hay <[email protected]>
Date:   Sat Sep 20 00:46:09 2014 +0100

    Update release announcement template
    
    (cherry picked from commit 5654cc4ecbbe52f346fca1d568892a85c0a10040)

M       Porting/release_announcement_template.txt

commit 3f8b62b736a8b8d95adc3fdabdec77705a26defd
Author: Father Chrysostomos <[email protected]>
Date:   Tue Jan 13 08:25:24 2015 +0000

    perldiag: Rewrap for better splain output
    
    Also correct C<(...)> when it should be (C<...>).
    
    (cherry picked from commit f3ba690558ce39a2cc7b8e8cf53bd510503c428e)

M       pod/perldiag.pod

commit 4660566e8b1c0af0e32a90babda0d85818590953
Author: Karl Williamson <[email protected]>
Date:   Thu Sep 18 18:20:57 2014 -0600

    perlsyn: Remove reference to potential Unicode op
    
    See thread beginning at
    http://nntp.perl.org/group/perl.perl5.porters/219796
    
    (cherry picked from commit 845392291027b157a962eea4a4c2a97f67b995ce)

M       pod/perlsyn.pod

commit 8ee4537a170c55a24f7f9d27f1900e1558d17a22
Author: Father Chrysostomos <[email protected]>
Date:   Wed Sep 17 23:41:00 2014 -0700

    perlop tweak
    
    Consider this a follow-up to fc6933476.
    
    (cherry picked from commit d74605e51c7bb408573e37869390459a5232b4c7)

M       pod/perlop.pod

commit f9603ef09ab092139d7202562ce012b6f7b7e6c4
Author: Karl Williamson <[email protected]>
Date:   Wed Sep 17 22:42:17 2014 -0600

    perlop: Nits
    
    (cherry picked from commit fc6933476282438a4b45150119b9be73dfa05b82)

M       pod/perlop.pod

commit 629dde095c2e5e1d42de3d5d73bcbf497e6feb83
Author: Ricardo Signes <[email protected]>
Date:   Mon Sep 15 19:03:36 2014 -0400

    delete/exists on array elements is discouraged, not deprecated
    
    For further discussion, see (among other things)
    http://nntp.perl.org/group/perl.perl5.porters/218752
    
    (cherry picked from commit 2fbadc08f550cedfc8690b365310c2f6d81e960d)

M       pod/perlfunc.pod

commit 39003219acaad36f2f92f82802040ae0fc7a0272
Author: Ricardo Signes <[email protected]>
Date:   Mon Sep 15 18:19:41 2014 -0400

    document how to graduate from experimental status
    
    (cherry picked from commit f1126a906c58d54cb68626bd2e4c1d577d77796a)

M       pod/perlpolicy.pod

commit 3249dbc694fcc803c8cd5730785a607727b759f6
Author: Father Chrysostomos <[email protected]>
Date:   Sun Sep 14 16:04:17 2014 -0700

    Consistent spaces after dots in perlsub
    
    (cherry picked from commit b77865f5def4737f78822fa2cd0da2dbc4fc647b)

M       pod/perlsub.pod

commit 31dc1bc6f9388b33e2d9bb20f012fbe0c0a860bf
Author: Steve Hay <[email protected]>
Date:   Sun Sep 14 14:26:46 2014 +0100

    Add epigraph for 5.20.1
    
    (cherry picked from commit c43e874320ac47cebbfc6fdd4c881214d39128ad)

M       Porting/epigraphs.pod

commit 0720669403e73c1998db09917a7304300a6354cb
Author: James E Keenan <[email protected]>
Date:   Sat Sep 13 08:51:48 2014 -0400

    Semicolon before ellipsis inside block disambiguates.
    
    Correct documentation which indicated that, inside a block, a semicolon 
after
    an ellipsis statement would disambiguate between a block and a hash 
reference
    constructor.  The semicolon must precede the ellipsis to perform this
    disambiguation.
    
    Add tests to demonstrate that whitespace around the ellipsis statement does
    not impeded the disambiguation.  Add perldelta entry.
    
    For: RT #122661
    (cherry picked from commit 12d22d1fe17e8471834a01cd417792ac5c022d62)

M       pod/perldelta.pod
M       pod/perlsyn.pod
M       t/op/yadayada.t

commit 5ebde54265c6b44c115c22179dd2e28ef5eaa85c
Author: Peter Martini <[email protected]>
Date:   Sun Sep 7 20:34:29 2014 -0400

    Fix documented return type for PAD_SV
    
    It should be SV *, just like PAD_SVl, since (except under DEBUGGING)
    it is actually the same macro.
    
    (cherry picked from commit 9a0afbbcb76a8ee786dfbbeff1930f173fefdbad)

M       pad.h

commit c65a6bd3bc3d28a5af5410baf4cf8c34e94698e0
Author: Father Chrysostomos <[email protected]>
Date:   Sun Aug 31 12:58:37 2014 -0700

    perlsec: Another typo
    
    (cherry picked from commit 6fd9f6130d0c4ad34a2ddcf44d887097de5b2847)

M       pod/perlsec.pod

commit 2231b2522b99e63f4c454216355a683600c4d7bc
Author: Father Chrysostomos <[email protected]>
Date:   Sun Aug 31 12:55:22 2014 -0700

    perlsec: Typo
    
    (cherry picked from commit c6c886efdb6df3d06613743e0e6780de4a145e66)

M       pod/perlsec.pod

commit f88443c18268b043b728c020cb715e9447be6e6b
Author: Father Chrysostomos <[email protected]>
Date:   Sun Aug 31 12:55:12 2014 -0700

    perlsec: Consistent spaces after dots
    
    (cherry picked from commit 91e649137a555abe48d1527549d88a833b6226a0)

M       pod/perlsec.pod

commit a4adb6cc08f8b351eb3fe3b8a403cd06a5493ff5
Author: Doug Bell <[email protected]>
Date:   Sun Aug 31 03:20:23 2014 -0500

    add missing close paren in pod
    
    For: RT #122663 (partial)
    (cherry picked from commit f6cce60a032fd351c1c7a6961fd3bcb043b3a784)

M       pod/perlgit.pod

commit 7fce22833443f4ebe597f7654350385f0289fbd0
Author: Father Chrysostomos <[email protected]>
Date:   Thu Aug 28 12:40:03 2014 -0700

    perldiag grammar
    
    1cd88304d70 fixed one grammatical error in this sentence.  This fixes
    the other.
    
    (cherry picked from commit abc0aa9d9625544dc299d6ca0d07dc9bd61cd947)

M       pod/perldiag.pod

commit 21b9a368e7c5c5ada3becf9abdbb1d1d3717e4be
Author: Steve Hay <[email protected]>
Date:   Tue Jan 13 08:18:25 2015 +0000

    perldiag grammar
    
    Manually backported from 1cd88304d7.

M       pod/perldiag.pod

commit 4a6d5738c33aa42980fefd726c3d037603ca7b73
Author: Ricardo Signes <[email protected]>
Date:   Wed Aug 27 21:13:46 2014 -0400

    todo: expand the list of OS access builtins to update
    
    ...taken from an IRC conversation on #p5p
    
    (cherry picked from commit 9fe0b8bee6be1d888d69587491d50258a908e8d0)

M       Porting/todo.pod

commit 7d562b35f6b4d7a8162f2b888bcb670b07e728ed
Author: Father Chrysostomos <[email protected]>
Date:   Sat Jan 11 17:03:04 2014 -0800

    Typo in pad.c apidocs
    
    (cherry picked from commit 272ce8bbdf90cc9c24e7425001986a6b681c6015)

M       pad.c

commit 7073492e75ff2dad81ab2d2aafc89ac99fa83e22
Author: Father Chrysostomos <[email protected]>
Date:   Mon Aug 25 18:10:12 2014 -0700

    perlfunc: consistent spaces after dots
    
    (cherry picked from commit 444d4f5cfb8c0054331f6949177c65c0b333e7d5)

M       pod/perlfunc.pod

commit a4cd374006e804a955011f73b26de58b0d5cc2e8
Author: Father Chrysostomos <[email protected]>
Date:   Mon Aug 25 18:05:56 2014 -0700

    perldiag: reword and rewrap an entry
    
    I think ‘portable between’ sounds better in this particular context.
    The rewrapping is for the sake of splain output.
    
    (cherry picked from commit 7ed0dd9307df05e569c8c3d5fdcf705995129a5f)

M       pod/perldiag.pod

commit 253688a908164f2e5ba327b4bd2668a874375e42
Author: Karl Williamson <[email protected]>
Date:   Mon Aug 25 18:50:16 2014 -0600

    perlrecharclass: Use more common property synonym
    
    XPerlSpace is used elsewhere in this pod, so use it everywhere.
    
    Spotted by Andrew Rodland.
    
    (cherry picked from commit 7fa2fdc07ed9697d677cb165e07b12495e856d59)

M       pod/perlrecharclass.pod

commit 0353bc3d822cf169e91cce1188f725739d6004b9
Author: Karl Williamson <[email protected]>
Date:   Sat Aug 23 18:21:36 2014 -0600

    perldiag: Add clarification.
    
    (cherry picked from commit eebea631754f8059d1a963e93b061efa2190e5e5)

M       pod/perldiag.pod

commit 8925af4e35bfd471a1cfd3c96e3546bd4fc1df09
Author: Ævar Arnfjörð Bjarmason <[email protected]>
Date:   Mon Aug 25 16:17:11 2014 +0000

    perlfunc: Improve the pointer from "elseif" to "elsif"
    
    A co-worker pointed out that the docs for "elsif" were quite confusing
    because nothing when you "perldoc -f elseif" points out that it doesn't
    exist, it just directs you to perlsyn where we only document "elsif".
    
    Ricardo Signes added this aliasing back in v5.15.7-194-g8f0d6a6.
    
    Improve this confusion, and also add a mention of the common "elif" and
    "else if" variants while I'm at it. I was originally going to just alias
    them, but t/porting/perlfunc.t started failing because we're missing
    cross-references, and unlike "elseif" the other two aren't keywords,
    even if the "elseif" one is only here to warn you about its use.
    
    (cherry picked from commit d4a03217c39773dcacf83845e1f96a61136eb870)

M       pod/perlfunc.pod

commit 5e857f525e78e89ef7796d550771a066fc7f8b59
Author: Tadeusz Sośnierz <[email protected]>
Date:   Sun Aug 24 15:13:28 2014 +0200

    Make eval_pv documentation more precise
    
    (cherry picked from commit 422791e4eb03a12d17c98eb1787351280ae59789)

M       AUTHORS
M       perl.c

commit 1a186d9f01374949b8ea735ce5cb79c456453116
Author: Father Chrysostomos <[email protected]>
Date:   Sun Jan 11 22:25:51 2015 -0800

    perldelta for 08b999a9d / #123452
    
    (cherry picked from commit 439f6100c1c34165dc8d330d832195754691bb73)

M       pod/perldelta.pod

commit 5519b9e4cb226c27565ef6353c148840622edd2a
Author: Father Chrysostomos <[email protected]>
Date:   Sun Jan 11 22:05:33 2015 -0800

    perldelta for d8bd3d828 / #123495
    
    (cherry picked from commit 436f65037996b150c5a8b35ac858eefdef222cb7)

M       pod/perldelta.pod
-----------------------------------------------------------------------

Summary of changes:
 AUTHORS                                   |   4 +
 Porting/epigraphs.pod                     | 217 ++++++++++++++++++++++++
 Porting/release_announcement_template.txt |   4 +-
 Porting/release_managers_guide.pod        |  44 +++--
 Porting/release_schedule.pod              |  77 ++++-----
 Porting/todo.pod                          |  17 +-
 README.win32                              |  40 ++++-
 dist/IO/lib/IO/Socket.pm                  |  21 ++-
 dist/Storable/Storable.pm                 |   6 +-
 pad.c                                     |   3 +-
 pad.h                                     |   2 +-
 perl.c                                    |   2 +-
 pod/perl.pod                              |   4 +-
 pod/perldelta.pod                         |  28 +++-
 pod/perldiag.pod                          |  15 +-
 pod/perlfork.pod                          |  80 ++++-----
 pod/perlfunc.pod                          |  59 ++++---
 pod/perlgit.pod                           |  10 +-
 pod/perlguts.pod                          |   2 +-
 pod/perlhack.pod                          |   3 +-
 pod/perlhist.pod                          |   8 +
 pod/perliol.pod                           |   2 +-
 pod/perlipc.pod                           |  71 ++++----
 pod/perllocale.pod                        |  25 ++-
 pod/perlmod.pod                           |  21 +++
 pod/perlmodstyle.pod                      |  39 +++--
 pod/perlnewmod.pod                        |   3 +
 pod/perlop.pod                            | 219 +++++++++++++------------
 pod/perlpolicy.pod                        |  19 ++-
 pod/perlport.pod                          |  44 ++---
 pod/perlrecharclass.pod                   |   4 +-
 pod/perlref.pod                           |  68 ++++----
 pod/perlsec.pod                           |  42 ++---
 pod/perlsub.pod                           |  31 ++--
 pod/perlsyn.pod                           | 263 +++++++++++++++---------------
 pod/perlthrtut.pod                        |  66 ++++----
 pod/perluniintro.pod                      |  14 +-
 pod/perlvar.pod                           |  11 +-
 sv.c                                      |   4 +-
 sv.h                                      |   2 +-
 t/op/yadayada.t                           |  31 +++-
 41 files changed, 1012 insertions(+), 613 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index dcbbfd5..baede9e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -357,6 +357,7 @@ Duke Leto                   <[email protected]>
 Duncan Findlay                 <[email protected]>
 E. Choroba                     <choroba@weed.(none)>
 Ed Avis                                <[email protected]>
+Ed J                           <[email protected]>
 Ed Mooring                     <[email protected]>
 Ed Santiago                    <[email protected]>
 Eddy Tan                       <[email protected]>
@@ -423,6 +424,7 @@ Gerrit P. Haase                     <[email protected]>
 Gideon Israel Dsouza           <[email protected]>
 Giles Lean                     <[email protected]>
 Gisle Aas                      <[email protected]>
+Glenn D. Golden                        <[email protected]>
 Glenn Linderman                        <[email protected]>
 Gordon Lack                    <[email protected]>
 Gordon J. Miller               <[email protected]>
@@ -584,6 +586,7 @@ Joergen Haegg
 Johan Holtman
 Johan Vromans                  <[email protected]>
 Johann Klasek                  <[email protected]>
+Johann 'Myrkraverk' Oskarsson                  <[email protected]>
 Johannes Plunien               <[email protected]>
 John Bley                      <[email protected]>
 John Borwick                   <[email protected]>
@@ -1122,6 +1125,7 @@ Sullivan Beck                     <[email protected]>
 Sven Strickroth                        <[email protected]>
 Sven Verdoolaege               <[email protected]>
 SynaptiCAD, Inc.               <[email protected]>
+Tadeusz Sośnierz              <[email protected]>
 Takis Psarogiannakopoulos      <[email protected]>
 Taro KAWAGISHI
 Tassilo von Parseval           <[email protected]>
diff --git a/Porting/epigraphs.pod b/Porting/epigraphs.pod
index ffb561f..e628ea6 100644
--- a/Porting/epigraphs.pod
+++ b/Porting/epigraphs.pod
@@ -17,6 +17,166 @@ Consult your favorite dictionary for details.
 
 =head1 EPIGRAPHS
 
+=head2 v5.21.7 - Robert Heinlein, The Number of the Beast
+
+L<Announced on 2014-12-20 by Max 
Maischein|http://www.nntp.perl.org/group/perl.perl5.porters/2014/12/msg223774.html>
+
+     "Zebadiah, Hilda and I salvaged and put everything into the basket.
+      Hilda started to put it into our wardrobe-and it was heavy. So
+      we looked. Packed as tight as when we left Oz. Six bananas-and
+      everything else. Cross my heart. No, go look."
+     "Hmmm- Jake, can you write equations for a picnic basket that
+      refills itself? Will it go on doing so?"
+     "Zeb, equations can be written to describe anything. The description
+      would be simpler for a basket that replenishes itself indefinitely
+      than for one that does it once and stops-I would have to describe
+      the discontinuity."
+
+=head2 v5.21.6 - Jeff Noon, Vurt
+
+L<Announced on 2014-11-20 by Chris 'BinGOs' 
Williams|http://www.nntp.perl.org/group/perl.perl5.porters/2014/11/msg222448.html>
+
+  GAME CAT
+
+  EXCHANGE MECHANISMS. Sometimes we lose precious
+  things. Friends and colleagues, fellow travellers in the
+  Vurt, sometimes we lose them; even lovers we sometimes
+  lose. And get bad things in exchange: aliens, objects,
+  snakes, and sometimes even death. Things we don't want.
+  This is part of the deal, part of the game deal;
+  all things, in all worlds, must be kept in balance.
+  Kittlings often ask, who decides on the swappings? Now then,
+  some say it's all accidental; that some poor Vurt thing
+  finds himself too close to a door, at too critical a time,
+  just when something real is being lost. Whoosh! Swap time!
+  Others say that some kind of overseer is working the
+  MECHANISMS OF EXCHANGE, deciding the fate of innocents.
+  The Cat can only tease at this, because of the big secrets
+  involved, and because of the levels between you, the reader,
+  and me, the Game Cat. Hey, listen; I've struggled to get
+  where I am today; why should I give you the easy route?
+  Get working, kittlings! Reach up higher. Work the Vurt.
+
+=head2 v5.21.5 - Friso Wiegersma (text), Jean Ferrat (music), Wim Sonneveld 
(performer), Het Dorp
+
+L<Announced on 2014-10-20 by 
Abigail|http://www.nntp.perl.org/group/perl.perl5.porters/2014/10/msg221399.html>
+
+  Het Dorp
+
+  Thuis heb ik nog een ansichtkaart
+  waarop een kerk, een kar met paard,
+  een slagerij J. van der Ven.
+  Een kroeg, een juffrouw op de fiets
+  het zegt u hoogstwaarschijnlijk niets,
+  maar 't is waar ik geboren ben.
+  Dit dorp, ik weet nog hoe het was,
+  de boerenkind'ren in de klas,
+  een kar die ratelt op de keien,
+  het raadhuis met een pomp ervoor,
+  een zandweg tussen koren door,
+  het vee, de boerderijen.
+
+  En langs het tuinpad van m'n vader
+  zag ik de hoge bomen staan.
+  Ik was een kind en wist niet beter,
+  dan dat dat nooit voorbij zou gaan.
+
+  Wat leefden ze eenvoudig toen
+  in simp'le huizen tussen groen
+  met boerenbloemen en een heg.
+  Maar blijkbaar leefden ze verkeerd,
+  het dorp is gemoderniseerd
+  en nu zijn ze op de goeie weg.
+  Want ziet, hoe rijk het leven is,
+  ze zien de televisiequiz
+  en wonen in betonnen dozen,
+  met flink veel glas, dan kun je zien
+  hoe of het bankstel staat bij Mien
+  en d'r dressoir met plastic rozen.
+
+  En langs het tuinpad van m'n vader
+  zag ik de hoge bomen staan.
+  Ik was een kind en wist niet beter,
+  dan dat dat nooit voorbij zou gaan.
+
+  De dorpsjeugd klit wat bij elkaar
+  in minirok en beatle-haar
+  en joelt wat mee met beat-muziek.
+  Ik weet wel, het is hun goeie recht,
+  de nieuwe tijd, net wat u zegt,
+  maar het maakt me wat melancholiek.
+  Ik heb hun vaders nog gekend
+  ze kochten zoethout voor een cent
+  ik zag hun moeders touwtjespringen.
+  Dat dorp van toen, het is voorbij,
+  dit is al wat er bleef voor mij:
+  een ansicht en herinneringen.
+
+  Toen ik langs het tuinpad van m'n vader
+  de hoge bomen nog zag staan.
+  Ik was een kind, hoe kon ik weten
+  dat dat voorgoed voorbij zou gaan.
+
+=head2 v5.21.4 - Edgar Allan Poe, The Narrative of Arthur Gordon Pym of 
Nantucket
+
+L<Announced on 2014-09-20 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2014/09/msg220267.html>
+
+  To-day, being in latitude 83° 20', longitude 43° 5' W. (the sea being
+  of an extraordinarily dark colour), we again saw land from the
+  masthead, and, upon a closer scrutiny, found it to be one of a group
+  of very large islands.  The shore was precipitous, and the interior
+  seemed to be well wooded, a circumstance which occasioned us great
+  joy.  In about four hours from our first discovering the land we came
+  to anchor in ten fathoms, sandy bottom, a league from the coast, as a
+  high surf, with strong ripples here and there, rendered a nearer
+  approach of doubtful expediency.  The two largest boats were now
+  ordered out, and a party, well armed (among whome were Peters and
+  myself), proceeded to look for an opening in the reef which appeared
+  to encircle the island.  After searching about for some time, we
+  discovered an inlet, which we were entering, when we saw four large
+  canoes put off from the shore, filled with men who seemed to be well
+  armed.  We waited for them to come up, and, as they moved with great
+  rapidity, they were soon within hail.  Captain Guy now held up a white
+  handkerchief on the blade of an oar, when the strangers made a full
+  stop, and commenced a loud jabbering all at once, intermingled with
+  occasional shouts, in which we could distinguish the words Anamoo-moo!
+  and Lama-Lama!  They continued this for at least half an hour, during
+  which we had a good opportunity of observing their appearance.
+
+=head2 v5.20.1 - Lorenzo da Ponte, Così fan tutte
+
+L<Announced on 2014-09-14 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2014/09/msg219789.html>
+
+  DORABELLA (as if waking from a daze): Where are they?
+  DON ALFONSO: They've gone.
+  FIORDILIGI: Oh, the cruel bitterness of parting!
+
+  DON ALFONSO:
+  Take heart, my dearest children.
+  Look, in the distance, your lovers are waving to you.
+
+  FIORDILIGI: Bon voyage, my darling!
+  DORABELLA: Bon voyage!
+
+  FIORDILIGI:
+  O heavens! How swiftly the ship is sailing away!
+  It is disappearing already!
+  It is no longer in sight!
+  Oh, may heaven grant it a prosperous voyage!
+
+  DORABELLA: May good luck attend it to the battlefield!
+  DON ALFONSO: And may your sweethearts and my friends be safe!
+
+  FIORDILIGI, DORABELLA, DON ALFONSO:
+  May the wind be gentle,
+  may the sea be calm,
+  and may the elements
+  respond kindly
+  to our wishes.
+
+    -- Lorenzo da Ponte, /Così fan tutte/,
+       trans. Diana Reed
+
 =head2 v5.20.1-RC2 - Lorenzo da Ponte, Così fan tutte
 
 L<Announced on 2014-09-07 by Steve 
Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2014/09/msg219446.html>
@@ -511,6 +671,63 @@ L<Announced on 2013-05-20 by Ricardo 
Signes|http://www.nntp.perl.org/group/perl.
   …that I can't fix…
   …with my hands…
 
+=head2 v5.18.4 - Robert W. Chambers, "The King in Yellow"
+
+L<Announced on 2014-10-01 by Ricardo 
Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2014/10/msg220770.html>
+
+  Along the shore the cloud waves break,
+  The twin suns sink beneath the lake,
+  The shadows lengthen
+    In Carcosa.
+
+  Strange is the night where black stars rise,
+  And strange moons circle through the skies
+  But stranger still is
+    Lost Carcosa.
+
+  Songs that the Hyades shall sing,
+  Where flap the tatters of the King,
+  Must die unheard in
+    Dim Carcosa.
+
+  Song of my soul, my voice is dead;
+  Die thou, unsung, as tears unshed
+  Shall dry and die in
+    Lost Carcosa.
+
+  -- Cassilda's Song in "The King in Yellow," Act i, Scene 2.
+     Robert W. Chambers
+
+=head2 v5.18.3 - (no epigraph)
+
+(no epigraph)
+
+=head2 v5.18.3-RC2 - Robert W. Chambers, "The King in Yellow"
+
+L<Announced on 2014-09-27|http://nntp.perl.org/group/perl.perl5.porters/220613>
+
+"Ah! I see it now!" I shrieked. "You have seized the throne and the
+empire. Woe! woe to you who are crowned with the crown of the King in
+Yellow!"
+
+    -- Robert W. Chambers, The King in Yellow, Act I, Scene 2.
+
+=head2 v5.18.3-RC1 - Robert W. Chambers, "The King in Yellow"
+
+L<Announced on 2014-09-17|http://nntp.perl.org/group/perl.perl5.porters/220072>
+
+  CAMILLA: You, sir, should unmask.
+
+  STRANGER: Indeed?
+
+  CASSILDA: Indeed it's time. We all have laid aside disguise but you.
+
+  STRANGER: I wear no mask.
+
+  CAMILLA: (Terrified, aside to Cassilda.) No mask? No mask!
+
+  -- Robert W. Chambers, The King in Yellow, Act I, Scene 2.
+
 =head2 v5.18.2 - Miss Manners
 
 L<Announced on 2014-01-06 by Ricardo 
Signes|http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211224.html>
diff --git a/Porting/release_announcement_template.txt 
b/Porting/release_announcement_template.txt
index fbd8d22..9286ec8 100644
--- a/Porting/release_announcement_template.txt
+++ b/Porting/release_announcement_template.txt
@@ -21,7 +21,7 @@ the "pod" directory inside the release and on the web.
 [ACKNOWLEDGEMENTS SECTION FROM PERLDELTA]
 
 We expect to release version [NEXT BLEAD VERSION.SUBVERSION] on [FUTURE
-DATE].  The next major stable release of Perl 5, version 20.0, should
-appear in May 2014.
+DATE].  The next major stable release of Perl 5, version 22.0, should
+appear in May 2015.
 
 [YOUR SALUTATION HERE]
diff --git a/Porting/release_managers_guide.pod 
b/Porting/release_managers_guide.pod
index 1ab7132..db709fd 100644
--- a/Porting/release_managers_guide.pod
+++ b/Porting/release_managers_guide.pod
@@ -171,14 +171,9 @@ For updating the L<http://dev.perl.org> web pages, either 
a Github account or
 sweet-talking somebody with a Github account into obedience is needed. This
 is only needed on the day of the release or shortly afterwards.
 
-=for checklist skip RC
-
 =head3 Quotation for release announcement epigraph
 
-I<SKIP this step for RC>
-
-For all except an RC release of perl, you will need a quotation
-to use as an epigraph to your release announcement.
+You will need a quotation to use as an epigraph to your release announcement.
 
 =head2 Building a release - advance actions
 
@@ -410,6 +405,10 @@ After editing, regenerate uconfig.h (this must be run on a 
system with a
 
 This might not cause any new changes.
 
+You may have to add stub entries in C<%Module::CoreList::version>,
+C<%Module::CoreList::deprecated> and C<%Module::CoreList::Utils::delta>.
+If so, you must up their version numbers as well.
+
 Test your changes:
 
  $ git clean -xdf   # careful if you don't have local files to keep!
@@ -544,6 +543,10 @@ C<$Module::CoreList::Utils::VERSION> should always be 
equal to
 C<$Module::CoreList::VERSION>. If necessary, bump those two versions to match
 before proceeding.
 
+The files to modify are: F<dist/Module-CoreList/lib/Module/CoreList.pm>,
+F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm> and
+F<dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm>.
+
 =head4 Update C<Module::CoreList> with module version data for the new release.
 
 Note that if this is a MAINT release, you should run the following actions
@@ -744,12 +747,8 @@ from blead:
     $ cp  ..../blead/pod/perlhist.pod pod/
     $ git commit -m 'sync perlhist from blead' pod/perlhist.pod
 
-=for checklist skip RC
-
 =head3 update perlhist.pod
 
-I<You MUST SKIP this step for a RC release>
-
 Add an entry to F<pod/perlhist.pod> with the release date, e.g.:
 
     David    5.10.1       2009-Aug-06
@@ -1098,6 +1097,14 @@ why you chose that particular quote for your epigraph.
 
 =for checklist skip RC
 
+=head3 Release schedule
+
+I<You MUST SKIP this step for RC>
+
+Tick the entry for your release in F<Porting/release_schedule.pod>.
+
+=for checklist skip RC
+
 =head3 Module::CoreList nagging
 
 I<You MUST SKIP this step for RC>
@@ -1176,6 +1183,18 @@ L<"Bump the version number">.
 After bumping the version, follow the section L<"update INSTALL"> to
 ensure all version number references are correct.
 
+(Note: The version is NOT bumped immediately after a MAINT release in order
+to avoid confusion and wasted time arising from bug reports relating to
+"intermediate versions" such as 5.20.1-and-a-bit: If the report is caused
+by a bug that gets fixed in 5.20.2 and this intermediate version already
+calls itself 5.20.2 then much time can be wasted in figuring out why there
+is a failure from something that "should have been fixed". If the bump is
+late then there is a much smaller window of time for such confusing bug
+reports to arise. (The opposite problem -- trying to figure out why there
+*is* a bug in something calling itself 5.20.1 when in fact the bug was
+introduced later -- shouldn't arise for MAINT releases since they should,
+in theory, only contain bug fixes but never regressions.))
+
 =head3 clean build and test
 
 Run a clean build and test to make sure nothing obvious is broken.
@@ -1301,11 +1320,6 @@ Thanks for releasing perl!
 
 =head2 Building a release - the day after
 
-=head3 link announcement in epigraphs.pod
-
-Add, to your quote to F<Porting/epigraphs.pod>, a link to the release
-announcement in the web-visible mailing list archive.  Commit it.
-
 =for checklist skip BLEAD-FINAL, MAINT, RC
 
 =head3 update Module::CoreList
diff --git a/Porting/release_schedule.pod b/Porting/release_schedule.pod
index 0c74d1b..d7bfb29 100644
--- a/Porting/release_schedule.pod
+++ b/Porting/release_schedule.pod
@@ -8,38 +8,32 @@ release_schedule - Perl 5 release schedule
 
 This schedule lists the projected or historical development and
 release schedules for the next, current and previous stable versions
-of Perl.  Dates with all question marks will only be releases if
+of Perl.  Dates with two or more question marks will only be releases if
 deemed necessary by the Pumpking.
 
-=head2 Perl 5.20
+=head2 Perl 5.22
 
-Code freezes (which happen in the 5.19.X series)
+Code freezes (which happen in the 5.21.X series)
 
-  2014-01-20  5.19.8          Contentious changes freeze
-  2014-02-20  5.19.9          User-visible changes freeze
-  2014-03-20  5.19.10         Full code freeze
-  2014-05-20  5.20.0          Stable release!
+  2015-01-20  5.21.8          Contentious changes freeze
+  2015-02-20  5.21.9          User-visible changes freeze
+  2015-03-20  5.21.10         Full code freeze
+  2015-05-20  5.22.0          Stable release!
 
-=head2 Perl 5.18
+=head2 Perl 5.20
 
-Release schedule (with release manager):
+  2014-05-27  5.20.0 ✓        Ricardo Signes
+  2014-09-14  5.20.1 ✓        Steve Hay
+  2015-01-??  5.20.2          Steve Hay
+
+=head2 Perl 5.18
 
   2013-05-18  5.18.0 ✓        Ricardo Signes
   2013-08-12  5.18.1 ✓        Ricardo Signes
-  2013-11-??  5.18.2          Ricardo Signes
-
-(RC0 will be released once we think that all the blockers have been
-addressed.  This typically means some time in April or May.)
-
-=head2 Perl 5.16
-
-Release schedule (with release managers):
-
-  2012-05-20  5.16.0 ✓        Ricardo Signes
-  2012-08-08  5.16.1 ✓        Ricardo Signes
-  2012-11-01  5.16.2 ✓        Ricardo Signes
-  2013-03-11  5.16.3 ✓        Ricardo Signes
-  ????-??-??  5.16.4          ??
+  2014-01-06  5.18.2 ✓        Ricardo Signes
+  2014-10-01  5.18.3 ✓        Ricardo Signes
+  2014-10-01  5.18.4 ✓        Ricardo Signes
+  2015-??-??  5.18.5          ??
 
 =head1 DEVELOPMENT RELEASE SCHEDULE
 
@@ -55,36 +49,24 @@ When shipping a release, you should include the schedule 
for (at least)
 the next four releases. If a stable version of Perl is released,
 you should reset the version numbers to the next blead series.
 
-=head2 Perl 5.19
-
-  2013-05-20  5.19.0          Ricardo Signes
-  2013-06-20  5.19.1          David Golden
-  2013-07-20  5.19.2          Aristotle Pagaltzis
-  2013-08-20  5.19.3          Steve Hay
-  2013-09-20  5.19.4          Steve Hay
-  2013-10-20  5.19.5          Steve Hay
-  2013-11-20  5.19.6          Chris Williams
-  2013-12-20  5.19.7          Abigail
-  2014-01-20  5.19.8          Ricardo Signes
-  2014-02-20  5.19.9          Tony Cook
-  2014-03-20  5.19.10         Aaron Crane
-  2014-04-20  5.19.11         Steve Hay
-
 =head2 Perl 5.21
 
-  2014-05-20  5.21.0          Ricardo Signes
-  2014-06-20  5.21.1          Matthew Horsfall
-  2014-07-20  5.21.2          Abigail
-  2014-08-20  5.21.3          ?
-  2014-09-20  5.21.4          ?
-  2014-10-20  5.21.5          ?
-  2014-11-20  5.21.6          ?
-  2014-12-20  5.21.7          ?
-  2015-01-20  5.21.8          ?
+  2014-05-20  5.21.0 ✓        Ricardo Signes
+  2014-06-20  5.21.1 ✓        Matthew Horsfall
+  2014-07-20  5.21.2 ✓        Abigail
+  2014-08-20  5.21.3 ✓        Peter Martini
+  2014-09-20  5.21.4 ✓        Steve Hay
+  2014-10-20  5.21.5 ✓        Abigail
+  2014-11-20  5.21.6 ✓        Chris "BinGOs" Williams
+  2014-12-20  5.21.7 ✓        Max Maischein
+  2015-01-20  5.21.8          Matthew Horsfall
   2015-02-20  5.21.9          ?
   2015-03-20  5.21.10         ?
   2015-04-20  5.21.11         ?
 
+(RC0 for 5.22.0 will be released once we think that all the blockers have been
+addressed.  This typically means some time in April or May.)
+
 =head1 VICTIMS
 
 The following porters have all consented to do at least
@@ -106,6 +88,7 @@ Jesse Luehrs <[email protected]>
 Jesse Vincent <[email protected]>
 Leon Brocard <[email protected]>
 Matt Trout <[email protected]>
+Matthew Horsfall <[email protected]>
 Max Maischein <[email protected]>
 Peter Martini <[email protected]>
 Philippe Bruhat <[email protected]>
diff --git a/Porting/todo.pod b/Porting/todo.pod
index 98ec00c..e7819ef 100644
--- a/Porting/todo.pod
+++ b/Porting/todo.pod
@@ -1023,14 +1023,15 @@ The old perltodo notes "Look at the "reification" code 
in C<av.c>".
 =head2 Virtualize operating system access
 
 Implement a set of "vtables" that virtualizes operating system access
-(open(), mkdir(), unlink(), readdir(), getenv(), etc.)  At the very
-least these interfaces should take SVs as "name" arguments instead of
-bare char pointers; probably the most flexible and extensible way
-would be for the Perl-facing interfaces to accept HVs.  The system
-needs to be per-operating-system and per-file-system
-hookable/filterable, preferably both from XS and Perl level
-(L<perlport/"Files and Filesystems"> is good reading at this point,
-in fact, all of L<perlport> is.)
+(chdir(), chmod(), dbmopen(), getenv(), glob(), link(), mkdir(), open(),
+opendir(), readdir(), rename(), rmdir(), stat(), sysopen(), uname(),
+unlink(), etc.)  At the very least these interfaces should take SVs as
+"name" arguments instead of bare char pointers; probably the most
+flexible and extensible way would be for the Perl-facing interfaces to
+accept HVs.  The system needs to be per-operating-system and
+per-file-system hookable/filterable, preferably both from XS and Perl
+level (L<perlport/"Files and Filesystems"> is good reading at this
+point, in fact, all of L<perlport> is.)
 
 This has actually already been implemented (but only for Win32),
 take a look at F<iperlsys.h> and F<win32/perlhost.h>.  While all Win32
diff --git a/README.win32 b/README.win32
index e4d457a..d697459 100644
--- a/README.win32
+++ b/README.win32
@@ -120,10 +120,20 @@ build usually works in this circumstance, but some tests 
will fail.
 
 =item Microsoft Visual C++
 
-The nmake that comes with Visual C++ will suffice for building.
-You will need to run the VCVARS32.BAT file, usually found somewhere
-like C:\Program Files\Microsoft Visual Studio\VC98\Bin.
-This will set your build environment.
+The nmake that comes with Visual C++ will suffice for building. Visual C
+requires that certain things be set up in the console before Visual C will
+sucessfully run. To make a console box be able to run the C compiler, you will
+need to beforehand, run the C<vcvars32.bat> file to compile for x86-32 and for
+x86-64 C<vcvarsall.bat x64> or C<vcvarsamd64.bat>. On a typical install of a
+Microsoft C compiler product, these batch files will already be in your C<PATH>
+environment variable so you may just type them without an absolute path into
+your console. If you need to find the absolute path to the batch file, it is
+usually found somewhere like C:\Program Files\Microsoft Visual Studio\VC98\Bin.
+With some newer Micrsoft C products (released after ~2004), the installer will
+put a shortcut in the start menu to launch a new console window with the
+console already set up for your target architecture (x86-32 or x86-64 or IA64).
+With the newer compilers, you may also use the older batch files if you choose
+so.
 
 You can also use dmake to build using Visual C++; provided, however,
 you set OSRELEASE to "microsft" (or whatever the directory name
@@ -387,6 +397,13 @@ perl520.dll at the perl toplevel, and various other 
extension dll's
 under the lib\auto directory.  If the build fails for any reason, make
 sure you have done the previous steps correctly.
 
+If you are advanced enough with building C code, here is a suggestion to speed
+up building perl, and the later C<make test>. Try to keep your PATH 
enviromental
+variable with the least number of folders possible (remember to keep your C
+compiler's folders there). C<C:\WINDOWS\system32> or C<C:\WINNT\system32>
+depending on your OS version should be first folder in PATH, since "cmd.exe"
+is the most commonly launched program during the build and later testing.
+
 =back
 
 =head2 Testing Perl on Windows
@@ -588,7 +605,7 @@ Look in L<http://www.cpan.org/> for more information on 
CPAN.
 
 Note that not all of the extensions available from CPAN may work
 in the Windows environment; you should check the information at
-L<http://testers.cpan.org/> before investing too much effort into
+L<http://www.cpantesters.org/> before investing too much effort into
 porting modules that don't readily build.
 
 Most extensions (whether they require a C compiler or not) can
@@ -632,7 +649,8 @@ edit Config.pm to fix it.
 
 If a module implements XSUBs, you will need one of the supported
 C compilers.  You must make sure you have set up the environment for
-the compiler for command-line compilation.
+the compiler for command-line compilation before running C<perl Makefile.PL>
+or any invocation of make.
 
 If a module does not build for some reason, look carefully for
 why it failed, and report problems to the module author.  If
@@ -846,6 +864,14 @@ updating it). The build does complete with
 
 but that may be just luck. Other AntiVirus software may have similar issues.
 
+A git GUI shell extension for Windows such as TortoiseGit will cause the build
+and later C<make test> to run much slower since every file is checked for its
+git status as soon as it is created and/or modified. TortoiseGit doesn't cause
+any test failures or build problems unlike the antivirus software described
+above, but it does cause similar slowness. It is suggested to use Task Manager
+to look for background processes which use high CPU amounts during the building
+process.
+
 Some of the built-in functions do not act exactly as documented in
 L<perlfunc>, and a few are not implemented at all.  To avoid
 surprises, particularly if you have had prior exposure to Perl
@@ -915,6 +941,6 @@ Win9x support was added in 5.6 (Benjamin Stuhl).
 
 Support for 64-bit Windows added in 5.8 (ActiveState Corp).
 
-Last updated: 22 October 2013
+Last updated: 07 October 2014
 
 =cut
diff --git a/dist/IO/lib/IO/Socket.pm b/dist/IO/lib/IO/Socket.pm
index 625c71a..c78aeec 100644
--- a/dist/IO/lib/IO/Socket.pm
+++ b/dist/IO/lib/IO/Socket.pm
@@ -24,7 +24,7 @@ require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 
'symbian');
 
 @ISA = qw(IO::Handle);
 
-$VERSION = "1.37";
+$VERSION = "1.38";
 
 @EXPORT_OK = qw(sockatmark);
 
@@ -499,8 +499,23 @@ C<use> declaration will fail at compile time.
 
 =item connected
 
-If the socket is in a connected state the peer address is returned.
-If the socket is not in a connected state then undef will be returned.
+If the socket is in a connected state, the peer address is returned. If the
+socket is not in a connected state, undef is returned.
+
+Note that connected() considers a half-open TCP socket to be "in a connected
+state".  Specifically, connected() does not distinguish between the
+B<ESTABLISHED> and B<CLOSE-WAIT> TCP states; it returns the peer address,
+rather than undef, in either case.  Thus, in general, connected() cannot
+be used to reliably learn whether the peer has initiated a graceful shutdown
+because in most cases (see below) the local TCP state machine remains in
+B<CLOSE-WAIT> until the local application calls shutdown() or close();
+only at that point does connected() return undef.
+
+The "in most cases" hedge is because local TCP state machine behavior may
+depend on the peer's socket options. In particular, if the peer socket has
+SO_LINGER enabled with a zero timeout, then the peer's close() will generate
+a RST segment, upon receipt of which the local TCP transitions immediately to
+B<CLOSED>, and in that state, connected() I<will> return undef.
 
 =item protocol
 
diff --git a/dist/Storable/Storable.pm b/dist/Storable/Storable.pm
index f74c867..7d8a011 100644
--- a/dist/Storable/Storable.pm
+++ b/dist/Storable/Storable.pm
@@ -22,7 +22,7 @@ package Storable; @ISA = qw(Exporter);
 
 use vars qw($canonical $forgive_me $VERSION);
 
-$VERSION = '2.49';
+$VERSION = '2.49_01';
 
 BEGIN {
     if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) {
@@ -1086,8 +1086,8 @@ deal with them.
 
 The store functions will C<croak> if they run into such references
 unless you set C<$Storable::forgive_me> to some C<TRUE> value. In that
-case, the fatal message is turned in a warning and some
-meaningless string is stored instead.
+case, the fatal message is converted to a warning and some meaningless
+string is stored instead.
 
 Setting C<$Storable::canonical> may not yield frozen strings that
 compare equal due to possible stringification of numbers. When the
diff --git a/pad.c b/pad.c
index 31282d1..fed2892 100644
--- a/pad.c
+++ b/pad.c
@@ -56,7 +56,8 @@ at that depth of recursion into the CV.  The 0th slot of a 
frame AV is an
 AV which is @_.  Other entries are storage for variables and op targets.
 
 Iterating over the PADNAMELIST iterates over all possible pad
-items.  Pad slots for targets (SVs_PADTMP) and GVs end up having &PL_sv_no
+items.  Pad slots for targets (SVs_PADTMP)
+and GVs end up having &PL_sv_undef
 "names", while slots for constants have &PL_sv_no "names" (see
 pad_alloc()).  That &PL_sv_no is used is an implementation detail subject
 to change.  To test for it, use C<PadnamePV(name) && !PadnameLEN(name)>.
diff --git a/pad.h b/pad.h
index 6269bdc..90517c6 100644
--- a/pad.h
+++ b/pad.h
@@ -242,7 +242,7 @@ for C<my Foo $bar>.
 =for apidoc m|SV *|PAD_SETSV   |PADOFFSET po|SV* sv
 Set the slot at offset C<po> in the current pad to C<sv>
 
-=for apidoc m|void|PAD_SV      |PADOFFSET po
+=for apidoc m|SV *|PAD_SV      |PADOFFSET po
 Get the value at offset C<po> in the current pad
 
 =for apidoc m|SV *|PAD_SVl     |PADOFFSET po
diff --git a/perl.c b/perl.c
index 0fb87dc..80c072e 100644
--- a/perl.c
+++ b/perl.c
@@ -2925,7 +2925,7 @@ Perl_eval_sv(pTHX_ SV *sv, I32 flags)
 /*
 =for apidoc p||eval_pv
 
-Tells Perl to C<eval> the given string and return an SV* result.
+Tells Perl to C<eval> the given string in scalar context and return an SV* 
result.
 
 =cut
 */
diff --git a/pod/perl.pod b/pod/perl.pod
index ace897f..53841b0 100644
--- a/pod/perl.pod
+++ b/pod/perl.pod
@@ -184,9 +184,9 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p 
splain xsubpp
     perl5182delta      Perl changes in version 5.18.2
     perl5181delta      Perl changes in version 5.18.1
     perl5180delta      Perl changes in version 5.18.0
-    perl5161delta      Perl changes in version 5.16.1
-    perl5162delta      Perl changes in version 5.16.2
     perl5163delta      Perl changes in version 5.16.3
+    perl5162delta      Perl changes in version 5.16.2
+    perl5161delta      Perl changes in version 5.16.1
     perl5160delta      Perl changes in version 5.16.0
     perl5144delta      Perl changes in version 5.14.4
     perl5143delta      Perl changes in version 5.14.3
diff --git a/pod/perldelta.pod b/pod/perldelta.pod
index 7dac987..96af1bf 100644
--- a/pod/perldelta.pod
+++ b/pod/perldelta.pod
@@ -126,6 +126,12 @@ L<[perl 
#122701]|https://rt.perl.org/Ticket/Display.html?id=122701>
 
 =item *
 
+L<IO::Socket> has been upgraded from version 1.37 to 1.38.
+
+Document the limitations of the isconnected() method.  [perl #123096]
+
+=item *
+
 L<PerlIO::scalar> has been upgraded from version 0.18 to 0.18_01.
 
 Reading from a position well past the end of the scalar now correctly
@@ -176,6 +182,11 @@ section.
 
 XXX Description of the change here
 
+=item *
+
+L<perlsyn>: An ambiguity in the documentation of the Ellipsis statement has
+been corrected. [perl #122661]
+
 =back
 
 =head1 Diagnostics
@@ -431,6 +442,17 @@ and there must be a string of at least 128 consecutive 
bytes to match.
 C<qr/@array(?{block})/> no longer dies with "Bizarre copy of ARRAY".
 [#123344]
 
+=item *
+
+C<gmtime> no longer crashes with not-a-number values.  [perl #123495]
+
+=item *
+
+Certain syntax errors in substitutions, such as C<< s/${<>{})// >>, would
+crash, and had done so since Perl 5.10.  (In some cases the crash did not
+start happening till 5.16.)  The crash has, of course, been fixed.
+[perl #123542]
+
 =back
 
 =head1 Known Problems
@@ -455,8 +477,10 @@ XXX
 
 =item *
 
-XXX Add anything here that we forgot to add, or were mistaken about, in
-the perldelta of a previous release.
+A regression has been fixed that was introduced in v5.20.0 (fixed in
+v5.20.1 as well as here) in which a UTF-8 encoded regular expression
+pattern that contains a single ASCII lowercase letter does not match its
+uppercase counterpart. [perl #122655]
 
 =back
 
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index d669168..bae6e4e 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -1391,9 +1391,10 @@ uses the character values modulus 256 instead, as if you 
had provided:
 =item "\c%c" is more clearly written simply as "%s"
 
 (W syntax) The C<\cI<X>> construct is intended to be a way to specify
-non-printable characters.  You used it for a printable one, which is better
-written as simply itself, perhaps preceded by a backslash for non-word
-characters.
+non-printable characters.  You used it for a printable one, which
+is better written as simply itself, perhaps preceded by a backslash
+for non-word characters.  Doing it the way you did is not portable
+between ASCII and EBCDIC platforms.
 
 =item Cloning substitution context is unimplemented
 
@@ -2202,7 +2203,7 @@ of Perl are likely to eliminate these arbitrary 
limitations.
 =item Ignoring zero length \N{} in character class in regex; marked by
 S<<-- HERE> in m/%s/
 
-(W regexp) Named Unicode character escapes C<(\N{...})> may return a
+(W regexp) Named Unicode character escapes (C<\N{...}>) may return a
 zero-length sequence.  When such an escape is used in a character class
 its behaviour is not well defined.  Check that the correct escape has
 been used, and the correct charname handler is in scope.
@@ -2563,7 +2564,7 @@ a module that is a MRO plugin.  See L<mro> and 
L<perlmroapi>.
 =item Invalid negative number (%s) in chr
 
 (W utf8) You passed a negative number to C<chr>.  Negative numbers are
-not valid characters numbers, so it return the Unicode replacement
+not valid character numbers, so it returns the Unicode replacement
 character (U+FFFD).
 
 =item invalid option -D%c, use -D'' to see choices
@@ -3307,7 +3308,7 @@ probably not what you want.
 =item \N{} in character class restricted to one character in regex; marked
 by S<<-- HERE> in m/%s/
 
-(F) Named Unicode character escapes C<(\N{...})> may return a
+(F) Named Unicode character escapes (C<\N{...}>) may return a
 multi-character sequence.  Such an escape may not be used in
 a character class, because character classes always match one
 character of input.  Check that the correct escape has been used,
@@ -6756,7 +6757,7 @@ Something Very Wrong.
 
 =item Zero length \N{} in regex; marked by S<<-- HERE> in m/%s/
 
-(F) Named Unicode character escapes C<(\N{...})> may return a zero-length
+(F) Named Unicode character escapes (C<\N{...}>) may return a zero-length
 sequence.  Such an escape was used in an extended character class, i.e.
 C<(?[...])>, which is not permitted.  Check that the correct escape has
 been used, and the correct charnames handler is in scope.  The S<<-- HERE>
diff --git a/pod/perlfork.pod b/pod/perlfork.pod
index fed58f3..c118fb5 100644
--- a/pod/perlfork.pod
+++ b/pod/perlfork.pod
@@ -168,8 +168,8 @@ BEGIN block, but will not continue parsing the source 
stream after the
 BEGIN block.  For example, consider the following code:
 
     BEGIN {
-        fork and exit;         # fork child and exit the parent
-       print "inner\n";
+        fork and exit;          # fork child and exit the parent
+        print "inner\n";
     }
     print "outer\n";
 
@@ -198,7 +198,7 @@ separately in the child.
 On some operating systems, notably Solaris and Unixware, calling C<exit()>
 from a child process will flush and close open filehandles in the parent,
 thereby corrupting the filehandles.  On these systems, calling C<_exit()>
-is suggested instead.  C<_exit()> is available in Perl through the 
+is suggested instead.  C<_exit()> is available in Perl through the
 C<POSIX> module.  Please consult your system's manpages for more information
 on this.
 
@@ -224,63 +224,63 @@ write to a forked child:
 
     # simulate open(FOO, "|-")
     sub pipe_to_fork ($) {
-       my $parent = shift;
-       pipe my $child, $parent or die;
-       my $pid = fork();
-       die "fork() failed: $!" unless defined $pid;
-       if ($pid) {
-           close $child;
-       }
-       else {
-           close $parent;
-           open(STDIN, "<&=" . fileno($child)) or die;
-       }
-       $pid;
+        my $parent = shift;
+        pipe my $child, $parent or die;
+        my $pid = fork();
+        die "fork() failed: $!" unless defined $pid;
+        if ($pid) {
+            close $child;
+        }
+        else {
+            close $parent;
+            open(STDIN, "<&=" . fileno($child)) or die;
+        }
+        $pid;
     }
 
     if (pipe_to_fork('FOO')) {
-       # parent
-       print FOO "pipe_to_fork\n";
-       close FOO;
+        # parent
+        print FOO "pipe_to_fork\n";
+        close FOO;
     }
     else {
-       # child
-       while (<STDIN>) { print; }
-       exit(0);
+        # child
+        while (<STDIN>) { print; }
+        exit(0);
     }
 
 And this one reads from the child:
 
     # simulate open(FOO, "-|")
     sub pipe_from_fork ($) {
-       my $parent = shift;
-       pipe $parent, my $child or die;
-       my $pid = fork();
-       die "fork() failed: $!" unless defined $pid;
-       if ($pid) {
-           close $child;
-       }
-       else {
-           close $parent;
-           open(STDOUT, ">&=" . fileno($child)) or die;
-       }
-       $pid;
+        my $parent = shift;
+        pipe $parent, my $child or die;
+        my $pid = fork();
+        die "fork() failed: $!" unless defined $pid;
+        if ($pid) {
+            close $child;
+        }
+        else {
+            close $parent;
+            open(STDOUT, ">&=" . fileno($child)) or die;
+        }
+        $pid;
     }
 
     if (pipe_from_fork('BAR')) {
-       # parent
-       while (<BAR>) { print; }
-       close BAR;
+        # parent
+        while (<BAR>) { print; }
+        close BAR;
     }
     else {
-       # child
-       print "pipe_from_fork\n";
-       exit(0);
+        # child
+        print "pipe_from_fork\n";
+        exit(0);
     }
 
 Forking pipe open() constructs will be supported in future.
 
-=item Global state maintained by XSUBs 
+=item Global state maintained by XSUBs
 
 External subroutines (XSUBs) that maintain their own global state may
 not work correctly.  Such XSUBs will either need to maintain locks to
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 7713f54..9a12865 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -458,7 +458,7 @@ characters are strange, it's a C<-B> file; otherwise it's a 
C<-T> file.
 Also, any file containing a zero byte in the examined portion is
 considered a binary file.  (If executed within the scope of a L<S<use
 locale>|perllocale> which includes C<LC_CTYPE>, odd characters are
-anything that isn't a printable nor space in the current locale.) If
+anything that isn't a printable nor space in the current locale.)  If
 C<-T> or C<-B> is used on a filehandle, the current IO buffer is
 examined
 rather than the first block.  Both C<-T> and C<-B> return true on an empty
@@ -744,7 +744,8 @@ Returns the context of the current pure perl subroutine 
call.  In scalar
 context, returns the caller's package name if there I<is> a caller (that is, if
 we're in a subroutine or C<eval> or C<require>) and the undefined value
 otherwise.  caller never returns XS subs and they are skipped.  The next pure
-perl sub will appear instead of the XS sub in caller's return values. In list
+perl sub will appear instead of the XS
+sub in caller's return values.  In list
 context, caller returns
 
     # 0         1          2
@@ -762,7 +763,7 @@ to go back before the current one.
      = caller($i);
 
 Here, $subroutine is the function that the caller called (rather than the
-function containing the caller). Note that $subroutine may be C<(eval)> if
+function containing the caller).  Note that $subroutine may be C<(eval)> if
 the frame is not a subroutine call, but an C<eval>.  In such a case
 additional elements $evaltext and
 C<$is_require> are set: C<$is_require> is true if the frame is created by a
@@ -1380,11 +1381,12 @@ straightforward.  Although exists() will return false 
for deleted entries,
 deleting array elements never changes indices of existing values; use shift()
 or splice() for that.  However, if any deleted elements fall at the end of an
 array, the array's size shrinks to the position of the highest element that
-still tests true for exists(), or to 0 if none do. In other words, an
+still tests true for exists(), or to 0 if none do.  In other words, an
 array won't have trailing nonexistent elements after a delete.
 
-B<WARNING:> Calling delete on array values is deprecated and likely to
-be removed in a future version of Perl.
+B<WARNING:> Calling C<delete> on array values is strongly discouraged.  The
+notion of deleting or checking the existence of Perl array elements is not
+conceptually coherent, and can lead to surprising behavior.
 
 Deleting from C<%ENV> modifies the environment.  Deleting from a hash tied to
 a DBM file deletes the entry from the DBM file.  Deleting from a C<tied> hash
@@ -2061,9 +2063,11 @@ corresponding value is undefined.
     print "True\n"      if $hash{$key};
 
 exists may also be called on array elements, but its behavior is much less
-obvious and is strongly tied to the use of L</delete> on arrays.  B<Be aware>
-that calling exists on array values is deprecated and likely to be removed in
-a future version of Perl.
+obvious and is strongly tied to the use of L</delete> on arrays.
+
+B<WARNING:> Calling C<exists> on array values is strongly discouraged.  The
+notion of deleting or checking the existence of Perl array elements is not
+conceptually coherent, and can lead to surprising behavior.
 
     print "Exists\n"    if exists $array[$index];
     print "Defined\n"   if defined $array[$index];
@@ -3358,7 +3362,7 @@ Respects current LC_CTYPE locale for code points < 256; 
and uses Unicode
 rules for the remaining code points (this last can only happen if
 the UTF8 flag is also set).  See L<perllocale>.
 
-Starting in v5.20, Perl wil use full Unicode rules if the locale is
+Starting in v5.20, Perl uses full Unicode rules if the locale is
 UTF-8.  Otherwise, there is a deficiency in this scheme, which is that
 case changes that cross the 255/256
 boundary are not well-defined.  For example, the lower case of LATIN CAPITAL
@@ -3673,12 +3677,13 @@ C<{>.  Usually it gets it right, but if it
 doesn't it won't realize something is wrong until it gets to the C<}> and
 encounters the missing (or unexpected) comma.  The syntax error will be
 reported close to the C<}>, but you'll need to change something near the C<{>
-such as using a unary C<+> to give Perl some help:
+such as using a unary C<+> or semicolon to give Perl some help:
 
     %hash = map {  "\L$_" => 1  } @array # perl guesses EXPR. wrong
     %hash = map { +"\L$_" => 1  } @array # perl guesses BLOCK. right
-    %hash = map { ("\L$_" => 1) } @array # this also works
-    %hash = map {  lc($_) => 1  } @array # as does this.
+    %hash = map {; "\L$_" => 1  } @array # this also works
+    %hash = map { ("\L$_" => 1) } @array # as does this
+    %hash = map {  lc($_) => 1  } @array # and this.
     %hash = map +( lc($_) => 1 ), @array # this is EXPR and works!
 
     %hash = map  ( lc($_), 1 ),   @array # evaluates to (1, @array)
@@ -7645,7 +7650,8 @@ list context is currently not possible this would serve 
no purpose.
 
 C<state> variables are enabled only when the C<use feature "state"> pragma 
 is in effect, unless the keyword is written as C<CORE::state>.
-See also L<feature>.
+See also L<feature>. Alternately, include a C<use v5.10> or later to the
+current scope.
 
 =item study SCALAR
 X<study>
@@ -8602,15 +8608,19 @@ This is often useful if you need to check the current 
Perl version before
 C<use>ing library modules that won't work with older versions of Perl.
 (We try not to do this more than we have to.)
 
-C<use VERSION> also enables all features available in the requested
+C<use VERSION> also lexically enables all features available in the requested
 version as defined by the C<feature> pragma, disabling any features
 not in the requested version's feature bundle.  See L<feature>.
 Similarly, if the specified Perl version is greater than or equal to
 5.12.0, strictures are enabled lexically as
 with C<use strict>.  Any explicit use of
 C<use strict> or C<no strict> overrides C<use VERSION>, even if it comes
-before it.  In both cases, the F<feature.pm> and F<strict.pm> files are
-not actually loaded.
+before it.  Later use of C<use VERSION>
+will override all behavior of a previous
+C<use VERSION>, possibly removing the C<strict> and C<feature> added by
+C<use VERSION>.  C<use VERSION> does not
+load the F<feature.pm> or F<strict.pm>
+files.
 
 The C<BEGIN> forces the C<require> and C<import> to happen at compile time.  
The
 C<require> makes sure the module is loaded into memory if it hasn't been
@@ -9045,8 +9055,8 @@ and C<${^CHILD_ERROR_NATIVE}>.
 Note that a return value of C<-1> could mean that child processes are
 being automatically reaped, as described in L<perlipc>.
 
-If you use wait in your handler for $SIG{CHLD} it may accidentally for the
-child created by qx() or system().  See L<perlipc> for details.
+If you use C<wait> in your handler for $SIG{CHLD}, it may accidentally wait
+for the child created by qx() or system().  See L<perlipc> for details.
 
 Portability issues: L<perlport/wait>.
 
@@ -9280,8 +9290,6 @@ This keyword is documented in L<perlsub/"Autoloading">.
 
 =item else
 
-=item elseif
-
 =item elsif
 
 =item for
@@ -9298,6 +9306,15 @@ This keyword is documented in L<perlsub/"Autoloading">.
 
 These flow-control keywords are documented in L<perlsyn/"Compound Statements">.
 
+=item elseif
+
+The "else if" keyword is spelled C<elsif> in Perl.  There's no C<elif>
+or C<else if> either.  It does parse C<elseif>, but only to warn you
+about not using it.
+
+See the documentation for flow-control keywords in L<perlsyn/"Compound
+Statements">.
+
 =back
 
 =over
diff --git a/pod/perlgit.pod b/pod/perlgit.pod
index 2b00774..b45faf4 100644
--- a/pod/perlgit.pod
+++ b/pod/perlgit.pod
@@ -255,12 +255,12 @@ itself you can fix it up by editing the files once more 
and then issue:
 
 Now you should create a patch file for all your local changes:
 
-  % git format-patch -M origin..
+  % git format-patch -M blead..
   0001-Rename-Leon-Brocard-to-Orange-Brocard.patch
 
 Or for a lot of changes, e.g. from a topic branch:
 
-  % git format-patch --stdout -M origin.. > topic-branch-changes.patch
+  % git format-patch --stdout -M blead.. > topic-branch-changes.patch
 
 You should now send an email to
 L<[email protected]|mailto:[email protected]> with a description of your
@@ -271,8 +271,8 @@ should only send patches to
 L<[email protected]|mailto:[email protected]> directly if the
 patch is not ready to be applied, but intended for discussion.
 
-See the next section for how to configure and use git to send these
-emails for you.
+Please do not use git-send-email(1) to send your patch. See L<Sending
+patch emails|/Sending patch emails> for more information.
 
 If you want to delete your temporary branch, you may do so with:
 
@@ -326,7 +326,7 @@ output.
 
 After you've generated your patch you should sent it
 to [email protected] (as discussed L<in the previous
-section|/"Patch workflow"> with a normal mail client as an
+section|/"Patch workflow">) with a normal mail client as an
 attachment, along with a description of the patch.
 
 You B<must not> use git-send-email(1) to send patches generated with
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index 90ab204..d845010 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -1766,7 +1766,7 @@ A scratchpad keeps SVs which are lexicals for the current 
unit and are
 targets for opcodes.  A previous version of this document
 stated that one can deduce that an SV lives on a scratchpad
 by looking on its flags: lexicals have C<SVs_PADMY> set, and
-I<target>s have C<SVs_PADTMP> set.  But this have never been fully true.
+I<target>s have C<SVs_PADTMP> set.  But this has never been fully true.
 C<SVs_PADMY> could be set on a variable that no longer resides in any pad.
 While I<target>s do have C<SVs_PADTMP> set, it can also be set on variables
 that have never resided in a pad, but nonetheless act like I<target>s.
diff --git a/pod/perlhack.pod b/pod/perlhack.pod
index dc3f396..8fcd618 100644
--- a/pod/perlhack.pod
+++ b/pod/perlhack.pod
@@ -125,8 +125,7 @@ are also referred to as the "Perl 5 Porters", "p5p" or just 
the
 "porters".
 
 A searchable archive of the list is available at
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/>.  There is
-also another archive at
+L<http://markmail.org/search/?q=perl5-porters>.  There is also an archive at
 L<http://archive.develooper.com/[email protected]/>.
 
 =head2 perl-changes mailing list
diff --git a/pod/perlhist.pod b/pod/perlhist.pod
index 2cf9c58..9f01589 100644
--- a/pod/perlhist.pod
+++ b/pod/perlhist.pod
@@ -515,6 +515,10 @@ the strings?).
  Ricardo  5.18.1-RC3    2013-Aug-08
  Ricardo  5.18.1        2013-Aug-12
  Ricardo  5.18.2        2014-Jan-06
+ Ricardo  5.18.3-RC1    2014-Sep-17
+ Ricardo  5.18.3-RC2    2014-Sep-27
+ Ricardo  5.18.3        2014-Oct-01
+ Ricardo  5.18.4        2014-Oct-01
 
  Ricardo   5.19.0       2013-May-20     The 5.19 development track
  David G   5.19.1       2013-Jun-21
@@ -539,6 +543,10 @@ the strings?).
  Matthew H 5.21.1       2014-Jun-20
  Abigail   5.21.2       2014-Jul-20
  Peter     5.21.3       2014-Aug-20
+ Steve     5.21.4       2014-Sep-20
+ Abigail   5.21.5       2014-Oct-20
+ BinGOs    5.21.6       2014-Nov-20
+ Max M     5.21.7       2014-Dec-20
 
 =head2 SELECTED RELEASE SIZES
 
diff --git a/pod/perliol.pod b/pod/perliol.pod
index b01b10e..ab600bd 100644
--- a/pod/perliol.pod
+++ b/pod/perliol.pod
@@ -98,7 +98,7 @@ The basic data structure is a PerlIOl:
        {
         PerlIOl *      next;       /* Lower layer */
         PerlIO_funcs * tab;        /* Functions for this layer */
-        IV             flags;      /* Various flags for state */
+        U32            flags;      /* Various flags for state */
        };
 
 A C<PerlIOl *> is a pointer to the struct, and the I<application>
diff --git a/pod/perlipc.pod b/pod/perlipc.pod
index 0e00d18..49c605b 100644
--- a/pod/perlipc.pod
+++ b/pod/perlipc.pod
@@ -28,7 +28,7 @@ For example, to trap an interrupt signal, set up a handler 
like this:
         $shucks++;
         die "Somebody sent me a SIG$signame";
     }
-    $SIG{INT} = __PACKAGE__ . "::catch_zap";  
+    $SIG{INT} = __PACKAGE__ . "::catch_zap";
     $SIG{INT} = \&catch_zap;  # best strategy
 
 Prior to Perl 5.8.0 it was necessary to do as little as you possibly
@@ -61,7 +61,7 @@ have to use POSIX' sigprocmask.
 
 Sending a signal to a negative process ID means that you send the signal
 to the entire Unix process group.  This code sends a hang-up signal to all
-processes in the current process group, and also sets $SIG{HUP} to C<"IGNORE"> 
+processes in the current process group, and also sets $SIG{HUP} to C<"IGNORE">
 so it doesn't kill itself:
 
     # block scope for local
@@ -188,12 +188,15 @@ itself every time the C<SIGHUP> signal is received. The 
actual code is
 located in the subroutine C<code()>, which just prints some debugging
 info to show that it works; it should be replaced with the real code.
 
-  #!/usr/bin/perl -w
+  #!/usr/bin/perl
+
+  use strict;
+  use warnings;
 
   use POSIX ();
   use FindBin ();
   use File::Basename ();
-  use File::Spec::Functions;
+  use File::Spec::Functions qw(catfile);
 
   $| = 1;
 
@@ -214,9 +217,9 @@ info to show that it works; it should be replaced with the 
real code.
       print "PID: $$\n";
       print "ARGV: @ARGV\n";
       my $count = 0;
-      while (++$count) {
+      while (1) {
           sleep 2;
-          print "$count\n";
+          print ++$count, "\n";
       }
   }
 
@@ -263,7 +266,7 @@ to execute a new opcode, a signal that arrives during a 
long-running
 opcode (e.g. a regular expression operation on a very large string) will
 not be seen until the current opcode completes.
 
-If a signal of any given type fires multiple times during an opcode 
+If a signal of any given type fires multiple times during an opcode
 (such as from a fine-grained timer), the handler for that signal will
 be called only once, after the opcode completes; all other
 instances will be discarded.  Furthermore, if your system's signal queue
@@ -327,12 +330,12 @@ On systems that supported it, older versions of Perl used 
the
 SA_RESTART flag when installing %SIG handlers.  This meant that
 restartable system calls would continue rather than returning when
 a signal arrived.  In order to deliver deferred signals promptly,
-Perl 5.8.0 and later do I<not> use SA_RESTART.  Consequently, 
+Perl 5.8.0 and later do I<not> use SA_RESTART.  Consequently,
 restartable system calls can fail (with $! set to C<EINTR>) in places
 where they previously would have succeeded.
 
 The default C<:perlio> layer retries C<read>, C<write>
-and C<close> as described above; interrupted C<wait> and 
+and C<close> as described above; interrupted C<wait> and
 C<waitpid> calls will always be retried.
 
 =item Signals as "faults"
@@ -469,7 +472,7 @@ to bogus commands will get hit with a signal, which they'd 
best be prepared
 to handle.  Consider:
 
     open(FH, "|bogus")      || die "can't fork: $!";
-    print FH "bang\n";      #  neither necessary nor sufficient 
+    print FH "bang\n";      #  neither necessary nor sufficient
                             #  to check print retval!
     close(FH)               || die "can't close: $!";
 
@@ -529,7 +532,7 @@ process group leader; the setsid() will fail if you are.  
If your
 system doesn't have the setsid() function, open F</dev/tty> and use the
 C<TIOCNOTTY> ioctl() on it instead.  See tty(4) for details.
 
-Non-Unix users should check their C<< I<Your_OS>::Process >> module for 
+Non-Unix users should check their C<< I<Your_OS>::Process >> module for
 other possible solutions.
 
 =head2 Safe Pipe Opens
@@ -559,13 +562,13 @@ you opened whatever your kid writes to I<his> STDOUT.
         }
     } until defined $pid;
 
-    if ($pid) {                 # I am the parent 
+    if ($pid) {                 # I am the parent
         print KID_TO_WRITE @some_data;
         close(KID_TO_WRITE)     || warn "kid exited $?";
     } else {                    # I am the child
         # drop permissions in setuid and/or setgid programs:
-        ($EUID, $EGID) = ($UID, $GID);  
-        open (OUTFILE, "> $PRECIOUS") 
+        ($EUID, $EGID) = ($UID, $GID);
+        open (OUTFILE, "> $PRECIOUS")
                                 || die "can't open $PRECIOUS: $!";
         while (<STDIN>) {
             print OUTFILE;      # child's STDIN is parent's KID_TO_WRITE
@@ -617,7 +620,7 @@ And here's a safe pipe open for writing:
     }
 
 It is very easy to dead-lock a process using this form of open(), or
-indeed with any use of pipe() with multiple subprocesses.  The 
+indeed with any use of pipe() with multiple subprocesses.  The
 example above is "safe" because it is simple and calls exec().  See
 L</"Avoiding Pipe Deadlocks"> for general safety principles, but there
 are extra gotchas with Safe Pipe Opens.
@@ -696,7 +699,7 @@ So for example, instead of using:
 
 One would use either of these:
 
-    open(PS_PIPE, "-|", "ps", "aux") 
+    open(PS_PIPE, "-|", "ps", "aux")
                                 || die "can't open ps pipe: $!";
 
     @ps_args = qw[ ps aux ];
@@ -706,7 +709,7 @@ One would use either of these:
 Because there are more than three arguments to open(), forks the ps(1)
 command I<without> spawning a shell, and reads its standard output via the
 C<PS_PIPE> filehandle.  The corresponding syntax to I<write> to command
-pipes is to use C<"|-"> in place of C<"-|">.  
+pipes is to use C<"|-"> in place of C<"-|">.
 
 This was admittedly a rather silly example, because you're using string
 literals whose content is perfectly safe.  There is therefore no cause to
@@ -774,7 +777,7 @@ except on a Unix system, or at least one purporting POSIX 
compliance.
 
 =for TODO
 Hold on, is this even true?  First it says that socketpair() is avoided
-for portability, but then it says it probably won't work except on 
+for portability, but then it says it probably won't work except on
 Unixy systems anyway.  Which one of those is true?
 
 Here's an example of using open2():
@@ -819,7 +822,7 @@ reopen the appropriate handles to STDIN and STDOUT and call 
other processes.
     PARENT_WTR->autoflush(1);
 
     if ($pid = fork()) {
-        close PARENT_RDR; 
+        close PARENT_RDR;
         close PARENT_WTR;
         print CHILD_WTR "Parent Pid $$ is sending this\n";
         chomp($line = <CHILD_RDR>);
@@ -828,12 +831,12 @@ reopen the appropriate handles to STDIN and STDOUT and 
call other processes.
         waitpid($pid, 0);
     } else {
         die "cannot fork: $!" unless defined $pid;
-        close CHILD_RDR; 
+        close CHILD_RDR;
         close CHILD_WTR;
         chomp($line = <PARENT_RDR>);
         print "Child Pid $$ just read this: '$line'\n";
         print PARENT_WTR "Child Pid $$ is sending this\n";
-        close PARENT_RDR; 
+        close PARENT_RDR;
         close PARENT_WTR;
         exit(0);
     }
@@ -892,7 +895,7 @@ don't need to pass that information.
 One of the major problems with ancient, antemillennial socket code in Perl
 was that it used hard-coded values for some of the constants, which
 severely hurt portability.  If you ever see code that does anything like
-explicitly setting C<$AF_INET = 2>, you know you're in for big trouble.  
+explicitly setting C<$AF_INET = 2>, you know you're in for big trouble.
 An immeasurably superior approach is to use the C<Socket> module, which more
 reliably grants access to the various constants and functions you'll need.
 
@@ -913,7 +916,7 @@ completely different.  The standards specify writing 
"\015\012" to be
 conformant (be strict in what you provide), but they also recommend
 accepting a lone "\012" on input (be lenient in what you require).
 We haven't always been very good about that in the code in this manpage,
-but unless you're on a Mac from way back in its pre-Unix dark ages, you'll 
+but unless you're on a Mac from way back in its pre-Unix dark ages, you'll
 probably be ok.
 
 =head2 Internet TCP Clients and Servers
@@ -966,7 +969,7 @@ or firewall machine), fill this in with your real address 
instead.
     my $proto = getprotobyname("tcp");
 
     socket(Server, PF_INET, SOCK_STREAM, $proto)    || die "socket: $!";
-    setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))    
+    setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))
                                                     || die "setsockopt: $!";
     bind(Server, sockaddr_in($port, INADDR_ANY))    || die "bind: $!";
     listen(Server, SOMAXCONN)                       || die "listen: $!";
@@ -1010,7 +1013,7 @@ go back to service a new client.
     my $proto = getprotobyname("tcp");
 
     socket(Server, PF_INET, SOCK_STREAM, $proto)    || die "socket: $!";
-    setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))         
+    setsockopt(Server, SOL_SOCKET, SO_REUSEADDR, pack("l", 1))
                                                     || die "setsockopt: $!";
     bind(Server, sockaddr_in($port, INADDR_ANY))    || die "bind: $!";
     listen(Server, SOMAXCONN)                       || die "listen: $!";
@@ -1066,7 +1069,7 @@ go back to service a new client.
         unless (defined($pid = fork())) {
             logmsg "cannot fork: $!";
             return;
-        } 
+        }
         elsif ($pid) {
             logmsg "begat $pid";
             return; # I'm the parent
@@ -1096,15 +1099,15 @@ to be reported.  However, the introduction of safe 
signals (see
 L</Deferred Signals (Safe Signals)> above) in Perl 5.8.0 means that
 accept() might also be interrupted when the process receives a signal.
 This typically happens when one of the forked subprocesses exits and
-notifies the parent process with a CHLD signal.  
+notifies the parent process with a CHLD signal.
 
 If accept() is interrupted by a signal, $! will be set to EINTR.
 If this happens, we can safely continue to the next iteration of
 the loop and another call to accept().  It is important that your
-signal handling code not modify the value of $!, or else this test 
+signal handling code not modify the value of $!, or else this test
 will likely fail.  In the REAPER subroutine we create a local version
 of $! before calling waitpid().  When waitpid() sets $! to ECHILD as
-it inevitably does when it has no more children waiting, it 
+it inevitably does when it has no more children waiting, it
 updates the local copy and leaves the original unchanged.
 
 You should use the B<-T> flag to enable taint checking (see L<perlsec>)
@@ -1137,7 +1140,7 @@ differ from the system on which it's being run:
         printf "%-24s ", $host;
         my $hisiaddr = inet_aton($host)     || die "unknown host";
         my $hispaddr = sockaddr_in($port, $hisiaddr);
-        socket(SOCKET, PF_INET, SOCK_STREAM, $proto)   
+        socket(SOCKET, PF_INET, SOCK_STREAM, $proto)
                                             || die "socket: $!";
         connect(SOCKET, $hispaddr)          || die "connect: $!";
         my $rtime = pack("C4", ());
@@ -1240,11 +1243,11 @@ to be on the localhost, and thus everything works right.
         unless (defined($pid = fork())) {
             logmsg "cannot fork: $!";
             return;
-        } 
+        }
         elsif ($pid) {
             logmsg "begat $pid";
             return; # I'm the parent
-        } 
+        }
         else {
             # I'm the child -- go spawn
         }
@@ -1815,9 +1818,9 @@ The IO::Socket(3) manpage describes the object library, 
and the Socket(3)
 manpage describes the low-level interface to sockets.  Besides the obvious
 functions in L<perlfunc>, you should also check out the F<modules> file at
 your nearest CPAN site, especially
-L<http://www.cpan.org/modules/00modlist.long.html#ID5_Networking_>.  
+L<http://www.cpan.org/modules/00modlist.long.html#ID5_Networking_>.
 See L<perlmodlib> or best yet, the F<Perl FAQ> for a description
-of what CPAN is and where to get it if the previous link doesn't work 
+of what CPAN is and where to get it if the previous link doesn't work
 for you.
 
 Section 5 of CPAN's F<modules> file is devoted to "Networking, Device
diff --git a/pod/perllocale.pod b/pod/perllocale.pod
index 1d7e4e4..46d2847 100644
--- a/pod/perllocale.pod
+++ b/pod/perllocale.pod
@@ -373,6 +373,10 @@ C<POSIX::setlocale()> function:
         # restore the old locale
         setlocale(LC_CTYPE, $old_locale);
 
+This simultaneously affects all threads of the program, so it may be
+problematic to use locales in threaded applications except where there
+is a single locale applicable to all threads.
+
 The first argument of C<setlocale()> gives the B<category>, the second the
 B<locale>.  The category tells in what aspect of data processing you
 want to apply locale-specific rules.  Category names are discussed in
@@ -539,7 +543,7 @@ alphabetically in your system is called).
 
 You can test out changing these variables temporarily, and if the
 new settings seem to help, put those settings into your shell startup
-files.  Consult your local documentation for the exact details.  For in
+files.  Consult your local documentation for the exact details.  For
 Bourne-like shells (B<sh>, B<ksh>, B<bash>, B<zsh>):
 
        LC_ALL=en_US.ISO8859-1
@@ -551,7 +555,7 @@ locale "En_US"--and in Cshish shells (B<csh>, B<tcsh>)
 
        setenv LC_ALL en_US.ISO8859-1
 
-or if you have the "env" application you can do in any shell
+or if you have the "env" application you can do (in any shell)
 
        env LC_ALL=en_US.ISO8859-1 perl ...
 
@@ -808,15 +812,16 @@ information on all these.)
 
 The C<LC_CTYPE> locale also provides the map used in transliterating
 characters between lower and uppercase.  This affects the case-mapping
-functions--C<fc()>, C<lc()>, C<lcfirst()>, C<uc()>, and C<ucfirst()>; 
case-mapping
+functions--C<fc()>, C<lc()>, C<lcfirst()>, C<uc()>, and C<ucfirst()>;
+case-mapping
 interpolation with C<\F>, C<\l>, C<\L>, C<\u>, or C<\U> in double-quoted
 strings and C<s///> substitutions; and case-independent regular expression
 pattern matching using the C<i> modifier.
 
 Finally, C<LC_CTYPE> affects the (deprecated) POSIX character-class test
 functions--C<POSIX::isalpha()>, C<POSIX::islower()>, and so on.  For
-example, if you move from the "C" locale to a 7-bit Scandinavian one,
-you may find--possibly to your surprise--that "|" moves from the
+example, if you move from the "C" locale to a 7-bit ISO 646 one,
+you may find--possibly to your surprise--that C<"|"> moves from the
 C<POSIX::ispunct()> class to C<POSIX::isalpha()>.
 Unfortunately, this creates big problems for regular expressions. "|" still
 means alternation even though it matches C<\w>.
@@ -824,7 +829,7 @@ means alternation even though it matches C<\w>.
 Starting in v5.20, Perl supports UTF-8 locales for C<LC_CTYPE>, but
 otherwise Perl only supports single-byte locales, such as the ISO 8859
 series.  This means that wide character locales, for example for Asian
-languages, are not supported.  The UTF-8 locale support is actually a
+languages, are not well-supported.  The UTF-8 locale support is actually a
 superset of POSIX locales, because it is really full Unicode behavior
 as if no locale were in effect at all (except for tainting; see
 L</SECURITY>).  POSIX locales, even UTF-8 ones,
@@ -837,7 +842,11 @@ For releases v5.16 and v5.18, C<S<use locale 
'not_characters>> could be
 used as a workaround for this (see L</Unicode and UTF-8>).
 
 Note that there are quite a few things that are unaffected by the
-current locale.  All the escape sequences for particular characters,
+current locale.  Any literal character is the native character for the
+given platform.  Hence 'A' means the character at code point 65 on ASCII
+platforms, and 193 on EBCDIC.  That may or may not be an 'A' in the
+current locale, if that locale even has an 'A'.
+Similarly, all the escape sequences for particular characters,
 C<\n> for example, always mean the platform's native one.  This means,
 for example, that C<\N> in regular expressions (every character
 but new-line) works on the platform character set.
@@ -1471,7 +1480,7 @@ byte, and Unicode rules for those that can't is not 
uniformly applied.
 Pre-v5.12, it was somewhat haphazard; in v5.12 it was applied fairly
 consistently to regular expression matching except for bracketed
 character classes; in v5.14 it was extended to all regex matches; and in
-v5.16 to the casing operations such as C<"\L"> and C<uc()>.  For
+v5.16 to the casing operations such as C<\L> and C<uc()>.  For
 collation, in all releases, the system's C<strxfrm()> function is called,
 and whatever it does is what you get.
 
diff --git a/pod/perlmod.pod b/pod/perlmod.pod
index f708cc0..0ed4bd9 100644
--- a/pod/perlmod.pod
+++ b/pod/perlmod.pod
@@ -4,6 +4,27 @@ perlmod - Perl modules (packages and symbol tables)
 
 =head1 DESCRIPTION
 
+=head2 Is this the document you were after?
+
+There are other documents which might contain the information that you're
+looking for:
+
+=over 2
+
+=item This doc
+
+Perl's packages, namespaces, and some info on classes.
+
+=item L<perlnewmod>
+
+Tutorial on making a new module.
+
+=item L<perlmodstyle>
+
+Best practices for making a new module.
+
+=back
+
 =head2 Packages
 X<package> X<namespace> X<variable, global> X<global variable> X<global>
 
diff --git a/pod/perlmodstyle.pod b/pod/perlmodstyle.pod
index 5622d32..d6111d0 100644
--- a/pod/perlmodstyle.pod
+++ b/pod/perlmodstyle.pod
@@ -178,7 +178,9 @@ been done in Perl, and avoid re-inventing the wheel unless 
you have a
 good reason.
 
 Good places to look for pre-existing modules include
-http://search.cpan.org/ and asking on [email protected]
+L<http://search.cpan.org/> and L<https://metacpan.org>
+and asking on C<[email protected]>
+(L<http://lists.perl.org/list/module-authors.html>).
 
 If an existing module B<almost> does what you want, consider writing a
 patch, writing a subclass, or otherwise extending the existing module
@@ -370,7 +372,7 @@ which is visible to the user (and most things that aren't!)
 
 =item Parameter passing
 
-Use named parameters. It's easier to use a hash like this:
+Use named parameters.  It's easier to use a hash like this:
 
     $obj->do_something(
            name => "wibble",
@@ -566,7 +568,7 @@ Your module should also include a README file describing 
the module and
 giving pointers to further information (website, author email).  
 
 An INSTALL file should be included, and should contain simple installation 
-instructions. When using ExtUtils::MakeMaker this will usually be:
+instructions.  When using ExtUtils::MakeMaker this will usually be:
 
 =over 4
 
@@ -620,23 +622,25 @@ The most common CPAN version numbering scheme looks like 
this:
     1.00, 1.10, 1.11, 1.20, 1.30, 1.31, 1.32
 
 A correct CPAN version number is a floating point number with at least 
-2 digits after the decimal. You can test whether it conforms to CPAN by 
+2 digits after the decimal.  You can test whether it conforms to CPAN by 
 using
 
     perl -MExtUtils::MakeMaker -le 'print MM->parse_version(shift)' 'Foo.pm'
 
 If you want to release a 'beta' or 'alpha' version of a module but
 don't want CPAN.pm to list it as most recent use an '_' after the
-regular version number followed by at least 2 digits, eg. 1.20_01. If
+regular version number followed by at least 2 digits, eg. 1.20_01.  If
 you do this, the following idiom is recommended:
 
-  $VERSION = "1.12_01";
-  $XS_VERSION = $VERSION; # only needed if you have XS code
-  $VERSION = eval $VERSION;
+  our $VERSION = "1.12_01"; # so CPAN distribution will have
+                            # right filename
+  our $XS_VERSION = $VERSION; # only needed if you have XS code
+  $VERSION = eval $VERSION; # so "use Module 0.002" won't warn on
+                            # underscore
 
 With that trick MakeMaker will only read the first line and thus read
 the underscore, while the perl interpreter will evaluate the $VERSION
-and convert the string into a number. Later operations that treat
+and convert the string into a number.  Later operations that treat
 $VERSION as a number will then be able to do so without provoking a
 warning about $VERSION not being a number.
 
@@ -644,6 +648,13 @@ Never release anything (even a one-word documentation 
patch) without
 incrementing the number.  Even a one-word documentation patch should
 result in a change in version at the sub-minor level.
 
+Once picked, it is important to stick to your version scheme, without
+reducing the number of digits.  This is because "downstream" packagers,
+such as the FreeBSD ports system, interpret the version numbers in
+various ways.  If you change the number of digits in your version scheme,
+you can confuse these systems so they get the versions of your module
+out of order, which is obviously bad.
+
 =head2 Pre-requisites
 
 Module authors should carefully consider whether to rely on other
@@ -676,7 +687,7 @@ Specify version requirements for other Perl modules in the
 pre-requisites in your Makefile.PL or Build.PL.
 
 Be sure to specify Perl version requirements both in Makefile.PL or
-Build.PL and with C<require 5.6.1> or similar. See the section on
+Build.PL and with C<require 5.6.1> or similar.  See the section on
 C<use VERSION> of L<perlfunc/require> for details.
 
 =head2 Testing
@@ -687,7 +698,8 @@ and the tests should also be available to people installing 
the modules
 For Module::Build you would use the C<make test> equivalent C<perl Build test>.
 
 The importance of these tests is proportional to the alleged stability of a 
-module. A module which purports to be stable or which hopes to achieve wide 
+module.  A module which purports to be
+stable or which hopes to achieve wide 
 use should adhere to as strict a testing regime as possible.
 
 Useful modules to help you write tests (with minimum impact on your 
@@ -702,8 +714,9 @@ Currently you have the choice between ExtUtils::MakeMaker 
and the
 more platform independent Module::Build, allowing modules to be installed in a
 consistent manner.
 When using ExtUtils::MakeMaker, you can use "make dist" to create your
-package. Tools exist to help you to build your module in a MakeMaker-friendly
-style. These include ExtUtils::ModuleMaker and h2xs.  See also L<perlnewmod>.
+package.  Tools exist to help you to build your module in a
+MakeMaker-friendly style.  These include ExtUtils::ModuleMaker and h2xs.
+See also L<perlnewmod>.
 
 =head2 Licensing
 
diff --git a/pod/perlnewmod.pod b/pod/perlnewmod.pod
index 7555f97..26c4c13 100644
--- a/pod/perlnewmod.pod
+++ b/pod/perlnewmod.pod
@@ -23,6 +23,9 @@ trying to do, and you've had to write the code yourself, 
consider
 packaging up the solution into a module and uploading it to CPAN so that
 others can benefit.
 
+You should also take a look at L<perlmodstyle> for best practices in
+making a module.
+
 =head2 Warning
 
 We're going to primarily concentrate on Perl-only modules here, rather
diff --git a/pod/perlop.pod b/pod/perlop.pod
index 888ba53..56d463a 100644
--- a/pod/perlop.pod
+++ b/pod/perlop.pod
@@ -6,15 +6,15 @@ perlop - Perl operators and precedence
 =head1 DESCRIPTION
 
 In Perl, the operator determines what operation is performed,
-independent of the type of the operands. For example C<$a + $b>
-is always a numeric addition, and if C<$a> or C<$b> do not contain
+independent of the type of the operands.  For example C<$x + $y>
+is always a numeric addition, and if C<$x> or C<$y> do not contain
 numbers, an attempt is made to convert them to numbers first.
 
 This is in contrast to many other dynamic languages, where the
-operation is determined by the type of the first argument. It also
+operation is determined by the type of the first argument.  It also
 means that Perl has two versions of some operators, one for numeric
-and one for string comparison. For example C<$a == $b> compares
-two numbers for equality, and C<$a eq $b> compares two strings.
+and one for string comparison.  For example C<$x == $y> compares
+two numbers for equality, and C<$x eq $y> compares two strings.
 
 There are a few exceptions though: C<x> can be either string
 repetition or list repetition, depending on the type of the left
@@ -170,8 +170,8 @@ value.
     print ++$j;  # prints 1
 
 Note that just as in C, Perl doesn't define B<when> the variable is
-incremented or decremented. You just know it will be done sometime
-before or after the value is returned. This also means that modifying
+incremented or decremented.  You just know it will be done sometime
+before or after the value is returned.  This also means that modifying
 a variable twice in the same statement will lead to undefined behavior.
 Avoid statements like:
 
@@ -203,7 +203,7 @@ The auto-decrement operator is not magical.
 X<**> X<exponentiation> X<power>
 
 Binary "**" is the exponentiation operator.  It binds even more
-tightly than unary minus, so -2**4 is -(2**4), not (-2)**4. (This is
+tightly than unary minus, so -2**4 is -(2**4), not (-2)**4.  (This is
 implemented using C's pow(3) function, which actually works on doubles
 internally.)
 
@@ -222,7 +222,7 @@ with a plus or minus, a string starting with the opposite 
sign is
 returned.  One effect of these rules is that -bareword is equivalent
 to the string "-bareword".  If, however, the string begins with a
 non-alphabetic character (excluding "+" or "-"), Perl will attempt to convert
-the string to a numeric and the arithmetic negation is performed. If the
+the string to a numeric and the arithmetic negation is performed.  If the
 string cannot be cleanly converted to a numeric, Perl will give the warning
 B<Argument "the string" isn't numeric in negation (-) at ...>.
 X<-> X<negation, arithmetic>
@@ -271,7 +271,8 @@ examples using these operators.
 
 If the right argument is an expression rather than a search pattern,
 substitution, or transliteration, it is interpreted as a search pattern at run
-time. Note that this means that its contents will be interpolated twice, so
+time.  Note that this means that its
+contents will be interpolated twice, so
 
     '\\' =~ q'\\';
 
@@ -296,21 +297,21 @@ X</> X<slash>
 Binary "%" is the modulo operator, which computes the division
 remainder of its first argument with respect to its second argument.
 Given integer
-operands C<$a> and C<$b>: If C<$b> is positive, then C<$a % $b> is
-C<$a> minus the largest multiple of C<$b> less than or equal to
-C<$a>.  If C<$b> is negative, then C<$a % $b> is C<$a> minus the
-smallest multiple of C<$b> that is not less than C<$a> (that is, the
+operands C<$m> and C<$n>: If C<$n> is positive, then C<$m % $n> is
+C<$m> minus the largest multiple of C<$n> less than or equal to
+C<$m>.  If C<$n> is negative, then C<$m % $n> is C<$m> minus the
+smallest multiple of C<$n> that is not less than C<$m> (that is, the
 result will be less than or equal to zero).  If the operands
-C<$a> and C<$b> are floating point values and the absolute value of
-C<$b> (that is C<abs($b)>) is less than C<(UV_MAX + 1)>, only
-the integer portion of C<$a> and C<$b> will be used in the operation
+C<$m> and C<$n> are floating point values and the absolute value of
+C<$n> (that is C<abs($n)>) is less than C<(UV_MAX + 1)>, only
+the integer portion of C<$m> and C<$n> will be used in the operation
 (Note: here C<UV_MAX> means the maximum of the unsigned integer type).
-If the absolute value of the right operand (C<abs($b)>) is greater than
+If the absolute value of the right operand (C<abs($n)>) is greater than
 or equal to C<(UV_MAX + 1)>, "%" computes the floating-point remainder
-C<$r> in the equation C<($r = $a - $i*$b)> where C<$i> is a certain
+C<$r> in the equation C<($r = $m - $i*$n)> where C<$i> is a certain
 integer that makes C<$r> have the same sign as the right operand
-C<$b> (B<not> as the left operand C<$a> like C function C<fmod()>)
-and the absolute value less than that of C<$b>.
+C<$n> (B<not> as the left operand C<$m> like C function C<fmod()>)
+and the absolute value less than that of C<$n>.
 Note that when C<use integer> is in scope, "%" gives you direct access
 to the modulo operator as implemented by your C compiler.  This
 operator is not as well defined for negative operands, but it will
@@ -475,15 +476,15 @@ Binary "<=>" returns -1, 0, or 1 depending on whether the 
left
 argument is numerically less than, equal to, or greater than the right
 argument.  If your platform supports NaNs (not-a-numbers) as numeric
 values, using them with "<=>" returns undef.  NaN is not "<", "==", ">",
-"<=" or ">=" anything (even NaN), so those 5 return false. NaN != NaN
-returns true, as does NaN != anything else. If your platform doesn't
+"<=" or ">=" anything (even NaN), so those 5 return false.  NaN != NaN
+returns true, as does NaN != anything else.  If your platform doesn't
 support NaNs then NaN is just a string with numeric value 0.
 X<< <=> >> X<spaceship>
 
-    $ perl -le '$a = "NaN"; print "No NaN support here" if $a == $a'
-    $ perl -le '$a = "NaN"; print "NaN support here" if $a != $a'
+    $ perl -le '$x = "NaN"; print "No NaN support here" if $x == $x'
+    $ perl -le '$x = "NaN"; print "NaN support here" if $x != $x'
 
-(Note that the L<bigint>, L<bigrat>, and L<bignum> pragmas all 
+(Note that the L<bigint>, L<bigrat>, and L<bignum> pragmas all
 support "NaN".)
 
 Binary "eq" returns true if the left argument is stringwise equal to
@@ -724,7 +725,7 @@ That because the corresponding position in C<@a> contains 
an array that
 (eventually) has a 4 in it.
 
 Smartmatching one hash against another reports whether both contain the
-same keys, no more and no less. This could be used to see whether two
+same keys, no more and no less.  This could be used to see whether two
 records have the same field names, without caring what values those fields
 might have.  For example:
 
@@ -762,8 +763,8 @@ C<when> clause.  See the section on "Switch Statements" in 
L<perlsyn>.
 To avoid relying on an object's underlying representation, if the
 smartmatch's right operand is an object that doesn't overload C<~~>,
 it raises the exception "C<Smartmatching a non-overloaded object
-breaks encapsulation>". That's because one has no business digging
-around to see whether something is "in" an object. These are all
+breaks encapsulation>".  That's because one has no business digging
+around to see whether something is "in" an object.  These are all
 illegal on objects without a C<~~> overload:
 
     %hash ~~ $object
@@ -771,7 +772,8 @@ illegal on objects without a C<~~> overload:
    "fred" ~~ $object
 
 However, you can change the way an object is smartmatched by overloading
-the C<~~> operator. This is allowed to extend the usual smartmatch semantics.
+the C<~~> operator.  This is allowed to
+extend the usual smartmatch semantics.
 For objects that do have an C<~~> overload, see L<overload>.
 
 Using an object as the left operand is allowed, although not very useful.
@@ -857,16 +859,17 @@ Although it has no direct equivalent in C, Perl's C<//> 
operator is related
 to its C-style or.  In fact, it's exactly the same as C<||>, except that it
 tests the left hand side's definedness instead of its truth.  Thus,
 C<< EXPR1 // EXPR2 >> returns the value of C<< EXPR1 >> if it's defined,
-otherwise, the value of C<< EXPR2 >> is returned. (C<< EXPR1 >> is evaluated
-in scalar context, C<< EXPR2 >> in the context of C<< // >> itself). Usually,
+otherwise, the value of C<< EXPR2 >> is returned.
+(C<< EXPR1 >> is evaluated in scalar context, C<< EXPR2 >>
+in the context of C<< // >> itself).  Usually,
 this is the same result as C<< defined(EXPR1) ? EXPR1 : EXPR2 >> (except that
 the ternary-operator form can be used as a lvalue, while C<< EXPR1 // EXPR2 >>
-cannot). This is very useful for
+cannot).  This is very useful for
 providing default values for variables.  If you actually want to test if
-at least one of C<$a> and C<$b> is defined, use C<defined($a // $b)>.
+at least one of C<$x> and C<$y> is defined, use C<defined($x // $y)>.
 
 The C<||>, C<//> and C<&&> operators return the last value evaluated
-(unlike C's C<||> and C<&&>, which return 0 or 1). Thus, a reasonably
+(unlike C's C<||> and C<&&>, which return 0 or 1).  Thus, a reasonably
 portable way to find out the home directory might be:
 
     $home =  $ENV{HOME}
@@ -912,7 +915,7 @@ operators depending on the context.  In list context, it 
returns a
 list of values counting (up by ones) from the left value to the right
 value.  If the left value is greater than the right value then it
 returns the empty list.  The range operator is useful for writing
-C<foreach (1..10)> loops and for doing slice operations on arrays. In
+C<foreach (1..10)> loops and for doing slice operations on arrays.  In
 the current implementation, no temporary array is created when the
 range operator is used as the expression in C<foreach> loops, but older
 versions of Perl might burn a lot of memory when you write something
@@ -927,15 +930,15 @@ auto-increment, see below.
 
 In scalar context, ".." returns a boolean value.  The operator is
 bistable, like a flip-flop, and emulates the line-range (comma)
-operator of B<sed>, B<awk>, and various editors. Each ".." operator
+operator of B<sed>, B<awk>, and various editors.  Each ".." operator
 maintains its own boolean state, even across calls to a subroutine
-that contains it. It is false as long as its left operand is false.
+that contains it.  It is false as long as its left operand is false.
 Once the left operand is true, the range operator stays true until the
 right operand is true, I<AFTER> which the range operator becomes false
 again.  It doesn't become false till the next time the range operator
 is evaluated.  It can test the right operand and become false on the
 same evaluation it became true (as in B<awk>), but it still returns
-true once. If you don't want it to test the right operand until the
+true once.  If you don't want it to test the right operand until the
 next evaluation, as in B<sed>, just use three dots ("...") instead of
 two.  In all other regards, "..." behaves just like ".." does.
 
@@ -1003,7 +1006,7 @@ the two range operators:
         }
     }
 
-This program will print only the line containing "Bar". If
+This program will print only the line containing "Bar".  If
 the range operator is changed to C<...>, it will also print the
 "Baz" line.
 
@@ -1076,31 +1079,31 @@ is returned.  For example:
 Scalar or list context propagates downward into the 2nd
 or 3rd argument, whichever is selected.
 
-    $a = $ok ? $b : $c;  # get a scalar
-    @a = $ok ? @b : @c;  # get an array
-    $a = $ok ? @b : @c;  # oops, that's just a count!
+    $x = $ok ? $y : $z;  # get a scalar
+    @x = $ok ? @y : @z;  # get an array
+    $x = $ok ? @y : @z;  # oops, that's just a count!
 
 The operator may be assigned to if both the 2nd and 3rd arguments are
 legal lvalues (meaning that you can assign to them):
 
-    ($a_or_b ? $a : $b) = $c;
+    ($x_or_y ? $x : $y) = $z;
 
 Because this operator produces an assignable result, using assignments
 without parentheses will get you in trouble.  For example, this:
 
-    $a % 2 ? $a += 10 : $a += 2
+    $x % 2 ? $x += 10 : $x += 2
 
 Really means this:
 
-    (($a % 2) ? ($a += 10) : $a) += 2
+    (($x % 2) ? ($x += 10) : $x) += 2
 
 Rather than this:
 
-    ($a % 2) ? ($a += 10) : ($a += 2)
+    ($x % 2) ? ($x += 10) : ($x += 2)
 
 That should probably be written more simply as:
 
-    $a += ($a % 2) ? 10 : 2;
+    $x += ($x % 2) ? 10 : 2;
 
 =head2 Assignment Operators
 X<assignment> X<operator, assignment> X<=> X<**=> X<+=> X<*=> X<&=>
@@ -1111,11 +1114,11 @@ X<%=> X<^=> X<x=>
 
 Assignment operators work as in C.  That is,
 
-    $a += 2;
**** PATCH TRUNCATED AT 2000 LINES -- 1817 NOT SHOWN ****

--
Perl5 Master Repository

Reply via email to