Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Retiring, March 2020 - sorry, you have missed our final public course.
The Coronavirus situation has lead us to suspend public training - which was on the cards anyway, with no plans to resume

Please ask about private 'maintenance' training for Python, Tcl, Perl, PHP, Lua, etc
Happily continuing private consultancy / programming work
 
Debugging and Data::Dumper in Perl

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 as below, or enter http://melksh.am/nnnn for individual articles
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)


Back to
Object Oriented Perl - First Steps
Previous and next
or
Horse's mouth home
Forward to
What a difference a day made
Some other Articles
Anonymous functions (lambdas) and map in Python
Liverpool - a friendly city
Domain Renewal Group
What a difference a day made
Debugging and Data::Dumper in Perl
Object Oriented Perl - First Steps
Remember your units
Reactive (dynamic) formatting in Perl
Seven new intermediate Perl examples
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2020: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1865_Deb ... -Perl.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat