What? You don't just randomly insert [$_] throughout your code to see what happens? :)
After much debugger work (and using the debugger with source filters is not fun), I found the error appeared to be coming from &Text::Balanced::extract_multiple. Since I couldn't get it to generate the error directly, I fell back to using an empty source filter and that kicked up the error. &Filter::Simple::gen_std_filter_for is the only place in Filter::Simple where extract multiple is called:
sub gen_std_filter_for {
my ($type, $transform) = @_;
return sub {
my $instr;
local @components;
for (extract_multiple($_,$extractor_for{$type})) {
So naturally, right before that line I added this:
use Data::Dumper;
warn Dumper( [ $_, $extractor_for{$type} ] );
At that point, the error went away, I sneezed and my head imploded (how Britney Spear's head fails to implode when she sneezes is another mystery I haven't solved). More playing around got that down to the "fix" which I posted.
|