This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #90064] perlfunc: Document special 0 mode for dbmopen
[perl5.git] / pod / perl5100delta.pod
index 8485c54..4e5c6d3 100644 (file)
@@ -2,7 +2,7 @@
 
 =head1 NAME
 
-perldelta - what is new for perl 5.10.0
+perl5100delta - what is new for perl 5.10.0
 
 =head1 DESCRIPTION
 
@@ -103,7 +103,7 @@ nested balanced angle brackets:
        <                   #   match an opening angle bracket
        (?:                 #   match one of:
            (?>             #     don't backtrack over the inside of this group
-               [^<>]+      #       one or more non angle brackets
+               [^<>]+      #       one or more non angle brackets
            )               #     end non backtracking group
        |                   #     ... or ...
            (?1)            #     recurse to bracket 1 and try it again
@@ -228,9 +228,9 @@ overriding the lexical declaration with C<our $_>. (Rafael Garcia-Suarez)
 =head2 The C<_> prototype
 
 A new prototype character has been added. C<_> is equivalent to C<$> but
-defaults to C<$_> if the corresponding argument isn't supplied. (both C<$>
-and C<_> denote a scalar). Due to the optional nature of the argument, you
-can only use it at the end of a prototype, or before a semicolon.
+defaults to C<$_> if the corresponding argument isn't supplied (both C<$>
+and C<_> denote a scalar). Due to the optional nature of the argument, 
+you can only use it at the end of a prototype, or before a semicolon.
 
 This has a small incompatible consequence: the prototype() function has
 been adjusted to return C<_> for some built-ins in appropriate cases (for
@@ -313,7 +313,7 @@ To use state variables, one needs to enable them by using
     use feature 'state';
 
 or by using the C<-E> command-line switch in one-liners.
-See L<perlsub/"Persistent variables via state()">.
+See L<perlsub/"Persistent Private Variables">.
 
 =head2 Stacked filetest operators
 
@@ -396,7 +396,7 @@ details.
 
 This variable gives the native status returned by the last pipe close,
 backtick command, successful call to wait() or waitpid(), or from the
-system() operator. See L<perlrun> for details. (Contributed by Gisle Aas.)
+system() operator. See L<perlvar> for details. (Contributed by Gisle Aas.)
 
 =item C<${^RE_TRIE_MAXBUF}>
 
@@ -440,7 +440,7 @@ with it. (Larry Wall, Nicholas Clark)
 =head2 kill() on Windows
 
 On Windows platforms, C<kill(-9, $pid)> now kills a process tree.
-(On UNIX, this delivers the signal to all processes in the same process
+(On Unix, this delivers the signal to all processes in the same process
 group.)
 
 =head1 Incompatible Changes
@@ -625,6 +625,27 @@ Previously, the exception would not occur until Perl attempted to make
 use of the recursive inheritance while resolving a method or doing a
 C<$foo-E<gt>isa($bar)> lookup.
 
+=head2 warnings::enabled and warnings::warnif changed to favor users of modules
+
+The behaviour in 5.10.x favors the person using the module;
+The behaviour in 5.8.x favors the module writer;
+
+Assume the following code:
+
+  main calls Foo::Bar::baz()
+  Foo::Bar inherits from Foo::Base
+  Foo::Bar::baz() calls Foo::Base::_bazbaz()
+  Foo::Base::_bazbaz() calls: warnings::warnif('substr', 'some warning 
+message');
+
+On 5.8.x, the code warns when Foo::Bar contains C<use warnings;>
+It does not matter if Foo::Base or main have warnings enabled
+to disable the warning one has to modify Foo::Bar.
+
+On 5.10.0 and newer, the code warns when main contains C<use warnings;>
+It does not matter if Foo::Base or Foo::Bar have warnings enabled
+to disable the warning one has to modify main.
+
 =head1 Modules and Pragmata
 
 =head2 Upgrading individual core modules
@@ -823,7 +844,7 @@ of C<CPANPLUS>.
 =item *
 
 C<Archive::Extract> is a generic archive extraction mechanism
-for F<.tar> (plain, gziped or bzipped) or F<.zip> files.
+for F<.tar> (plain, gzipped or bzipped) or F<.zip> files.
 
 =item *
 
@@ -1030,7 +1051,7 @@ their system dependent constants - as a result C<use POSIX;> now takes about
 
 The new compilation flag C<PERL_DONT_CREATE_GVSV>, introduced as an option
 in perl 5.8.8, is turned on by default in perl 5.9.3. It prevents perl
-from creating an empty scalar with every new typeglob. See L<perl588delta>
+from creating an empty scalar with every new typeglob. See L<perl589delta>
 for details.
 
 =head2 Weak references are cheaper
@@ -1468,7 +1489,7 @@ to reflect this.)
 
 =head2 Elimination of SVt_PVBM
 
-Related to this, the internal type C<SVt_PVBM> has been been removed. This
+Related to this, the internal type C<SVt_PVBM> has been removed. This
 dedicated type of C<SV> was used by the C<index> operator and parts of the
 regexp engine to facilitate fast Boyer-Moore matches. Its use internally has
 been replaced by C<SV>s of type C<SVt_PVGV>.