If there is one thing that’s annoyed me about my whole experience with
RT it’s the way errors either get eaten up or mis-reported. I don’t
know if that’s the fault of Perl, Mason or RT, but I frequently find
myself having to put RT::Logger->debug statements every other line just
so I can figure out where it’s silently failing, and then minutely
examining the line to discover that (as happened yesterday) I had an
extra $ in front of a variable name.
Rarely in my experience do things completely silently fail. If you run
across such reproducible cases where an error completely disappears,
file a bug report.
Mason often gets line numbers right, but sometimes doesn’t because of
the way it’s implemented.
If you’re not in a Mason special block (<%args>, <%flags>), most pure
Perl errors (from % lines or <%perl> or <%init>) are fairly explanatory.
The special blocks are, well, special and Not Quite Perl.