Have you tried using Devel::SmalProf?
As it profiles the code line-by-line rather than function-by-function, it doesn't have the same trouble with anonymous subs.
Sample of output
================ SmallProf version 1.11 ================ Profile of test3.pl8 + Page 1 =============================================================== +== count wall tm cpu time line 0 0.000000 0.000000 1:$t = sub { 1010 0.000000 0.110000 2: for(1..100) { 11000 0.999900 1.133000 3: for(1..10) { 10000 0.999900 1.170000 4: $x++; 0 0.000000 0.000000 5: } 0 0.000000 0.000000 6: } 1 0.000000 0.000000 7:}; 11 0.000000 0.000000 8:for(1..10) { 10 0.000000 0.000000 9: print $t->(); 0 0.000000 0.000000 10:} 1 0.550701 0.000000 11:print 'Done';
Be warned. It really does profile every line, modules and pragmas included. And it slows down your program by *a lot*, but the detailed information it produces is well worth the wait.
In reply to Re: Avoiding "Pkg::__ANON__" diagnostics with -d:DProf
by BrowserUk
in thread Avoiding "Pkg::__ANON__" diagnostics with -d:DProf
by blokhead
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |