This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta - Consistent use of C<> and L<>
[perl5.git] / pod / perl5180delta.pod
index 6643941..f4e4423 100644 (file)
@@ -219,7 +219,7 @@ empty string.
 Several more built-in functions have been added as subroutines to the
 CORE:: namespace - namely, those non-overridable keywords that can be
 implemented without custom parsers: C<defined>, C<delete>, C<exists>,
-C<glob>, C<pos>, C<protoytpe>, C<scalar>, C<split>, C<study>, and C<undef>.
+C<glob>, C<pos>, C<prototype>, C<scalar>, C<split>, C<study>, and C<undef>.
 
 As some of these have prototypes, C<prototype('CORE::...')> has been
 changed to not make a distinction between overridable and non-overridable
@@ -534,12 +534,16 @@ in L<perlsub/Lexical Subroutines>.
 
 =head2 Defined values stored in environment are forced to byte strings
 
-A value stored in an environment variable has always been stringified.  In this
-release, it is converted to be only a byte string.  First, it is forced to be
-only a string.  Then if the string is utf8 and the equivalent of
-C<utf8::downgrade()> works, that result is used; otherwise, the equivalent of
-C<utf8::encode()> is used, and a warning is issued about wide characters
-(L</Diagnostics>).
+A value stored in an environment variable has always been stringified when
+inherited by child processes.
+
+In this release, when assigning to C<%ENV>, values are immediately stringified,
+and converted to be only a byte string.
+
+First, it is forced to be a only a string.  Then if the string is utf8 and the
+equivalent of C<utf8::downgrade()> works, that result is used; otherwise, the
+equivalent of C<utf8::encode()> is used, and a warning is issued about wide
+characters (L</Diagnostics>).
 
 =head2 C<require> dies for unreadable files