GitHub's mirror is now at mirrors/perl, not github/perl
[p5sagit/p5-mst-13.2.git] / pod / perl5120delta.pod
index 5e203be..35fab9a 100644 (file)
@@ -29,7 +29,7 @@ for C<our $VERSION = ...> and similar constructs. E.g.
 
 There are several advantages to this:
 
-=over 
+=over
 
 =item *
 
@@ -117,7 +117,7 @@ Extension modules can now cleanly hook into the Perl parser to define
 new kinds of keyword-headed expression and compound statement. The
 syntax following the keyword is defined entirely by the extension. This
 allow a completely non-Perl sublanguage to be parsed inline, with the
-correct ops cleanly generated. 
+correct ops cleanly generated.
 
 See L<perlapi/PL_keyword_plugin> for the mechanism. The Perl core
 source distribution also includes a new module
@@ -290,9 +290,8 @@ those installed in C<ARCHLIB> and C<PRIVLIB>.
 Internally, Perl now treates compiled regular expressions (such as
 those created with C<qr//>) as first class entities. Perl modules which
 serialize, deserialize or otherwise have deep interaction with Perl's
-internal data structures need to be updated for this change.  Affected
-modules include L<FreezeThaw>,L<Data::Dump::Streamer> and L<Regexp::Copy>.
-
+internal data structures need to be updated for this change.  Most
+affected CPAN modules have already been updated as of this writing.
 
 =head2 Switch statement changes
 
@@ -495,6 +494,11 @@ EOF type.
 To better match all other flow control statements, C<foreach> may no
 longer be used as an attribute.
 
+=item *
+
+Perl's command-line switch "-P", which was deprecated in version 5.10.0, has
+now been removed.
+
 =back
 
 
@@ -598,6 +602,10 @@ installation of a single package provides the given functionality, to
 a later release where the system administrator needs to know to install
 multiple packages to get that same functionality.
 
+You can silence these deprecation warnings by installing the modules
+in question from CPAN.  To install the latest version of all of them,
+just install C<Task::Deprecations::5_12>.
+
 =over
 
 =item L<Class::ISA>
@@ -638,7 +646,14 @@ F<finddepth.pl>, F<importenv.pl>, F<hostname.pl>, F<getopts.pl>,
 F<getopt.pl>, F<getcwd.pl>, F<flush.pl>, F<fastcwd.pl>, F<exceptions.pl>,
 F<ctime.pl>, F<complete.pl>, F<cacheout.pl>, F<bigrat.pl>, F<bigint.pl>,
 F<bigfloat.pl>, F<assert.pl>, F<abbrev.pl>, F<dotsh.pl>, and
-F<timelocal.pl> are all now deprecated. Using them will incur a warning.
+F<timelocal.pl> are all now deprecated.  Earlier, Perl's developers
+intended to remove these libraries from Perl's core for the 5.14.0 release.
+
+During final testing before the release of 5.12.0, several developers
+discovered current production code using these ancient libraries, some
+inside the Perl core itself.  Accordingly, the pumpking granted them
+a stay of execution. They will begin to warn about their deprecation
+in the 5.14.0 release and will be removed in the 5.16.0 release.
 
 
 =back
@@ -1634,7 +1649,7 @@ and proper citations added, thanks to a patch from Tom Christiansen.
 =item *
 
 The internal structure of the dual-life modules traditionally found in
-the F<lib/> and F<ext/> directories y in the perl source has changed
+the F<lib/> and F<ext/> directories in the perl source has changed
 significantly. Where possible, dual-lifed modules have been extracted
 from F<lib/> and F<ext/>.
 
@@ -2069,7 +2084,7 @@ because it's beyond the limit of representation.
 
 This uses a new warnings category: "imprecision".
 
-=item * 
+=item *
 
 C<lc>, C<uc>, C<lcfirst>, and C<ucfirst> warn when passed undef.
 
@@ -2308,7 +2323,7 @@ to gcc's search path.
 =item *
 
 F<h2xs> no longer incorrectly treats enum values like macros.
-It also now handles C++ style comments (C<//>) properly in enums. 
+It also now handles C++ style comments (C<//>) properly in enums.
 
 =item *
 
@@ -3019,6 +3034,14 @@ from either 5.10.x or 5.8.x.
 
 =item *
 
+Some CPANPLUS tests may fail if there is a functioning file
+F<../../cpanp-run-perl> outside your build directory. The failure
+shouldn't imply there's a problem with the actual functional
+software. The bug is already fixed in [RT #74188] and is scheduled for
+inclusion in perl-v5.12.1.
+
+=item *
+
 C<List::Util::first> misbehaves in the presence of a lexical C<$_>
 (typically introduced by C<my $_> or implicitly by C<given>). The variable
 which gets set for each iteration is the package variable C<$_>, not the