Hi stevieb - caller() is very impressive, but, as you say, it seems to relate more to doing a stack trace about function calls etc. I'm after a simple function (or "macro" equivalent) to just plonk out trace values of the form "<line_no>: <var_name> = <var_value>", using a command like "DEBUG(<var_name>)". I guess I could use the debugger, but this would be simpler for little tasks. The trick is I can't see how to find the <var_name> itself.
Comment on Re^2: How to get variable name in trace message
I regretted posting originally, because I spoke before I fully comprehended what you were after.
I've written such tools before, but they aren't worthy of public consumption. Hopefully someone will be able to finger a CPAN module that will get you on your way.