I echo bikeNomad
's recommendation of the Linux Journal
article (I don't think the Monastery's article is as good. YMMV).
What really made me start making better use of the debugger is Effective Perl Programming by Hall and Schwartz. One of their recommendations I liked best was to use the debugger as an interactive Perl environment. That is, just type:
perl -d -e 0
and any Perl you enter at the prompt will be executed. Combine this with the debugger's x command, and you have a nice way of, for example, analyzing data structures.
Don't be overwhelmed by the ton of commands that appear in the help. I hardly ever use more than these:
- x: nicely formatted display of any variable: scalar, array, or hash
- p: print the argument, like the built-in
- w: show a 10-line window around the current line.
- s and n: step the program, optionally stepping over an entire sub
- b: break execution at line
- c: continue executing until reaching line
- q: quit (kinda necessary, that one)
As others have pointed out in this thread, it won't help if your program won't compile. But that's true of debuggers for any