< # 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
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
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}>
=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
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
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
=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>.