Update JSON-PP to CPAN version 2.27300

  [DELTA]

2.27300
  - fixed a problem about substr in perl 5.8.6 and below
    many people report this issue and patched by haarg[at]haarg.org
Update Socket to CPAN version 2.016

  [DELTA]

2.016   2014/10/08 21:53:10
        [BUGFIXES]
         * Wrap configure tests in a {} block in case of C99-deficient
           compilers (RT99363)
         * #include <stddef.h> so that NULL definitely exists (RT98248)
         * Need to pass NI_NUMERICSERV during unit tests for some OSes not to
           error (VMS) (RT98217)
Update libnet to CPAN version 3.01

  [DELTA]

libnet 3.01  -- Thu Oct 09 2014

  * Require IO::Socket::SSL >= 1.999 to protect against a bad version (0.30) of
    IO::Socket::IP and hopefully fix another bunch of CPAN Testers failures.

libnet 3.00  -- Thu Oct 09 2014

  * Skip Perl Critic, Pod and Pod Coverage tests unless AUTHOR_TESTING.
    [Resolves CPAN RT#99399]
  * Synchronize all $VERSIONs to the distribution's version number, bumping that
    to 3.00 so that no $VERSIONs end up going backwards.

libnet 1.30  -- Wed Oct 08 2014

  * Sigh. Fix PAUSE indexing problem again. Net::SMTP::SSL is already used by
    Net-SMTP-SSL.

libnet 1.29  -- Wed Oct 08 2014

  * Fix PAUSE indexing problem. Net::POP3::_SSLified and Net::SMTP::_SSLified
    are already used by Net-SSLGlue.

libnet 1.28  -- Wed Oct 08 2014

  * Improve code()/message() initialization and error handling in Net::Cmd
    [Tom Metro; resolves CPAN RT#14875]
  * Don't use the ALLO command on FTP servers that don't support it.  [Resolves
    CPAN RT#95717]
  * Stop Makefile.PL from requiring interactive configuration when running via
    cpan, cpanp or cpanm: just accept all defaults in these cases, as when
    running non-interactively.  [Resolves CPAN RT#48966]
  * Add optional POD coverage testing.
  * Add optional POD testing.
  * Add optional Perl::Critic testing.
  * Make code Perl::Critic clean.
  * Move Net/*.pm into lib/Net/ sub-directory within distribution. This is the
    usual layout style these days.
  * Change Net::SMTP::auth() so that it now falls back to another supported AUTH
    method if a given AUTH method fails.  [Ivan Baktsheev; closes PR#3]
  * Change Net::SMTP::auth() so that it uses the SMTP AUTH mechanism(s)
    specified in the Authen::SASL object if one is provided instead of a
    username.   If a plain text username is specified then use the first
    reported SMTP AUTH method supported, as usual.  [Ewen McNeill; resolves CPAN
    RT#58002]
  * Add support for IPv6 and SSL to Net::FTP, Net::NNTP, Net::POP3 and
    Net::SMTP.  These features are only available if the user has

      a recent IO::Socket::SSL for SSL support
      a recent IO::Socket::IP or an older IO::Socket::INET6 for IPv6 support

    If no SSL module is available it will work as before, but attempts to use
    the SSL functionality will result in an error message.  If no IPv6 modules
    are available it will just use IPv4 as before.  With IPv6 modules installed
    one can of course still access IPv4 hosts.
    [Steffen Ullrich; resolves CPAN RT#93823]
Deparse local our LIST

The ‘local’ was being omitted.  I missed the list form of
‘local our’ in commit f351564117.
op.c:allocmy: Don’t depend on null termination

This function has a len argument, but still depends on its argument’s
being null-terminated in one spot.  (All other parts of the function
use the length.)
op.c:allocmy: Remove obsolete cmnts and assert

We are no longer depending on strlen at all.  The name[2] check was
removed in 2009 in d6447115b.
toke.c:S_parse_opt_lexvar: Don’t use null terminator

allocmy no longer depends on it.
Deparse split-to-our-array correctly

$ ./perl -Ilib -MO=Deparse -e 'our @x = split //, $a'
@x = split(//, $a, 0);

The ‘our’ disappears because ‘split’ swallows up the assignment and
writes to @x directly.  But the result is that no OUR_INTRO flag is
left in the op tree.

Fixing this based on the current op tree is very complicated.  So
this commit sets the flag on the split op and makes B::Deparse
look for it.
optimize & rmv from public API Perl_tmps_grow and related code

Previously in PUSH_EXTEND_MORTAL__SV_C, "PL_tmps_ix + 1" would execute
twice, once for the nonmutable if(>=), then again after the potential
tmps_grow call. tmps_grow has an unused return register/void proto, put it
to use by returning ix.  Also change tmps_grow to take the result of
"PL_tmps_ix + the constant (usually 1) or non-constant (EXTEND_MORTAL)".
This avoid having to put the constant twice in machine code, once for the
if test, 2nd time for extend length param for tmps_grow call. For
non-constant/EXTEND_MORTAL usage, it allows the C optimizer to have the
length var to go out of liveness sooner if possible. Also the var used for
the if(>=) test is more likely to be in a register than length var.
So "if test variable" is closer on hand to the CPU than length var. In some
cases, if non-const len var isn't used again, it becomes the "ix" variable
by having PL_tmps_ix added to it. Change sv_2mortal to return sv instead
of NULL to remove a unique branch/block of machine code that assigns 0 to
return variable (Visual C didn't figure out return sv == returned NULL,
not sv). See also [perl #121845].
Set PERL_MM_USE_DEFAULT in make_ext.pl

In the perl core, we shouldn’t be getting messages like this when
trying to build perl:

Should I do external tests?
These tests will fail if there is no internet connection or if a firewall
blocks or modifies some traffic.
[y/N] [n]

libnet’s Makefile.PL now does that.  To make it easier to maintain
such Makefiles.PL to work both on CPAN and in the core, set
PERL_MM_USE_DEFAULT temporarily in make_ext.pl when running the
Makefile.PL.
move dMY_CXT in dlutils.c closer to first use

By computing dMY_CXT right before its first and usually last use, my_cxt
pointer doesn't need to be carried across function calls in SaveError. This
frees a C stack auto and/or register from being saved and restored in
SaveError. On VC 2003 32 bits -O1 threaded, the machine code size in bytes
dropped from 0x72 to 0x70 after this patch.
Update EXCLUDED files list for libnet following 2e1731446c
Update libnet to version 3.02

This skips the interactive prompt() from the Makefile.PL reported by bulk88
(and removes the t/external/*.t tests which will not be run as a result).
remove trailing whitespace.

For: RT #122942 (first patch)
Remove trailing space from perlipc.pod.

For: RT #122938 (first patch)
Add lvalue_refs feature feature
Increase $feature::VERSION to 1.38
Add experimental::lvalue_refs warnings category
Increase $warnings::VERSION to 1.27
To-do tests for scalar lvalue refs