Continuing a thread from last week about the last statement used to exit an eval() block: last and next,
when used to exit from a subroutine,
not only exit,
but also branch to the specified loop/label of the caller.
This is definitively a feature,
since (as Tim Bunce remarked) Test::More::skip() uses this,
and (as Hugo van der Sanden pointed out),
Apocalypse 12 uses this to define method lookup strategies.

Tomasz Pala reports (bug #29437) a case of recursion in perl's character encoding routines, which obviously (once diagnosed) leads to stack recursion and to segmentation fault. The sample code involves somehow the open pragma.

Dan Boorstein proposed a patch against bleadperl to add a TRUNCATE method to tied filehandles. Tassilo von Parsval commented that this new method should probably be made optional, for simplicity and compatibility.

Stas Bekman reported that Scalar::Util::weaken() (used to make weak references) has new problems in perl 5.8.4 (as it attempts to free unreferenced scalars, unveiling a deeper malfunction.) As those problems don't appear in bleadperl, Dave Mitchell does some investigation about the patches which caused it, and proposes a solution -- a patch from blead to integrate in maint.

Yitzchak noticed that using !~ on an uninitialized value reports the warning as having occured in a not operation, which is not exactly the case, and proposed to change the message; which raised the question, what is actually the name of the !~ operator?

David Muir Sharnoff reported that Scalar::Util::refaddr() (a function that returns the memory address of the reference it gets passed) doesn't work when magic is somehow involved (bug #29395). Marcus fixed this.

This summary was written by Rafael Garcia-Suarez. Weekly summaries are published on http://use.perl.org/ and posted on a mailing list, which subscription address is perl5-summary-subscribe@perl.org. Comments and corrections welcome.