in reply to Bizarro %+ hash slice bug in Perl 5.10 to 5.14.
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
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Bizarro %+ hash slice bug in Perl 5.10 to 5.14.
by tobyink (Canon) on Jun 17, 2012 at 09:55 UTC |