Welcome to the Monastery | |
PerlMonks |
Re: Bizarro %+ hash slice bug in Perl 5.10 to 5.14.by Anonymous Monk |
on Jun 17, 2012 at 09:23 UTC ( [id://976635]=note: print w/replies, xml ) | Need Help?? |
I investigate :) perldoc -v "%+" tells me %LAST_PAREN_MATCH is implemented using Tie::Hash::NamedCapture, so a hop skip and a jump to http://perl5.git.perl.org/perl.git/history/HEAD:/ext/Tie-Hash-NamedCapture to see what changed, a quick correlation with corelist, but nothing changed there since v5.13.11 Hmm The history did mention moving the implementation of %+ into XS, so checking perl5160delta for XS I see a bunch of changes, but nothing I think could cause this behaviour I will note that trying to Dumper \%+ or \%- outside of get_words_* returns empty -- so its definitely scope related (perhaps pad related) Next thing I checked is "capture", but #78266: Memory leak with named regexp captures doesn't seem related Next I notice Tied Variables but nothing jumps out I don't think this is documented anywhere, and I suspect it hasn't been discovered and fixed intentionally -- you should submit (perlbug) the test case for inclusion into http://perl5.git.perl.org/perl.git/blob/HEAD:/ext/Tie-Hash-NamedCapture/t/tiehash.t update: Forgot to search for %+, I found #105024: UNIVERSAL::AUTOLOAD breaks named captures/%-/%+, which could be responsible for fixing this, but Devel::Trace doesn't show any autoload / UNIVERSAL::AUTOLOAD
In Section
Seekers of Perl Wisdom
|
|