I'll admit it - I'm not a great fan of debuggers, preferring to write well structured code, and check it out with a few test / intermediate print statements. You'll often find I code:
$trace and print (something);
in Perl, and this allows me to add a line
$trace=1;
at the head of my program to turn my own tuned debug mode on, then to comment the line out (or set the variable to zero) to turn my debug mode off.
There are, though, a few occasions where even I will admit that the
-d option to Perl - calling in the debugger - can be useful.
I was also reminded on Friday of the Data::Dumper module, which allows you to convert the contents of a variable into a printable string of source code - in other words to let you display a variable's content. The module is shipped with Perl, and will even dump out objects. Here's an example of it in use:
use Data::Dumper;
print Dumper($rover);
And some output from that:
$VAR1 = bless( {
'breed' => 'Parrot',
'hf' => 4,
'name' => 'Rover',
'age' => 12
}, 'beast' );
The full source code is
here with the Perl module it uses available
here (written 2008-11-02, updated 2008-11-01)
Associated topics are indexed under
P203 - More about the Perl Environment [2876] Different perl examples - some corners I rarely explore - (2010-07-18)
[748] Getting rid of variables after you have finished with them - (2006-06-06)
[743] How to debug a Perl program - (2006-06-04)
[328] Making programs easy for any user to start - (2005-05-29)
P219 - Perl - Libraries and Resources [3377] What do I mean when I add things in Perl? - (2011-08-02)
[3101] The week before Christmas - (2010-12-23)
[3009] Expect in Perl - a short explanation and a practical example - (2010-10-22)
[2931] Syncronise - software, trains, and buses. Please! - (2010-08-22)
[2427] Operator overloading - redefining addition and other Perl tricks - (2009-09-27)
[2234] Loading external code into Perl from a nonstandard directory - (2009-06-12)
[2229] Do not re-invent the wheel - use a Perl module - (2009-06-11)
[1863] About dieing and exiting in Perl - (2008-11-01)
[1444] Using English can slow you right down! - (2007-11-25)
[1391] Ordnance Survey Grid Reference to Latitude / Longitude - (2007-10-14)
[1235] Outputting numbers as words - MySQL with Perl or PHP - (2007-06-17)
[1219] Judging the quality of contributed Perl code - (2007-06-06)
[760] Self help in Perl - (2006-06-14)
[737] Coloured text in a terminal from Perl - (2006-05-29)
[712] Why reinvent the wheel - (2006-05-06)
[358] Use standard Perl modules - (2005-06-25)
[357] Where do Perl modules load from - (2005-06-24)
[112] Avoid the wheel being re-invented by using Perl modules - (2004-11-08)
[86] Talk review - Idiomatic Perl, David Cross - (2004-10-12)
55ae
Some other Articles
Anonymous functions (lambdas) and map in PythonLiverpool - a friendly cityDomain Renewal GroupWhat a difference a day madeDebugging and Data::Dumper in PerlObject Oriented Perl - First StepsRemember your unitsReactive (dynamic) formatting in PerlSeven new intermediate Perl examples