Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
After reading this thread println() I am a little nervous about asking this but:
In C, I use a macro TRACE() (who's definition is pretty standard) that when passed a variable prints a single line giving the variables name and its current value (plus __FILE__ and __LINE__ info).
What I would like is something that when called like this: trace( $fred, $bill );
would result in:
/path/to/test.pl (11): $fred:'12' /path/to/test.pl (11): $bill:' The almighty greenback '
I guess there are two main problems here:
1) Obtaining the text for the variable name - though I am fully expecting the answer "no problem",but I haven't found it yet.
2) Having the line number available for output within the subroutine without having to manually supply it each time. Given this is an interpreter, this ought to be possible. Again, I am not quite sure where to start looking for this? Thanks.
How would this be done in Perl?
|
---|