Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.
Stumbled across this weird behavior today. Took a while to debug it. In the debugger, I'm not seeing the "dollar digit" regex capture variables set, even though the regex matches.
$ perl -de 1
Loading DB routines from perl5db.pl version 1.3
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(-e:1): 1
DB<1> ($foo) = ('abcd' =~/(bc)/)
DB<2> x $1
0 undef
DB<3> x $foo
0 'bc'
Is this documented? I can't find it.
Update: Rafael explained it. The digit variables are lexically scoped. That's why you can assign to a package variable in a debugger, but not a lexical.
DB<6> 'abcd' =~
/(bc)/ && print $1
bc
Scope (Score:1)
I think this is the same way that the debugger doesn't see lexicals declared on the previous line;
eg:
DB my $foo = 'bar';
DB x $foo
0 undef
So this works:
DB ($foo) = ('abcd' =~ /(bc)/) && print $1
Re: (Score:2)
Yeah, Rafael pointed that out to me and I updated my post before I saw your response.
By the way, you can use <ecode>some code here</ecode> tags to make your post prettier :)