Perl Debuggers in Detail - Other Debuggers (
Page 5 of 6 )
EPIC
Eclipse‖ is an open source development environment that runs on a variety of platforms. It’s a Java application, but don’t let that scare you off. It has a modular design so people can extend it to meet their needs. EPIC# is the Perl plug-in for Eclipse.
Eclipse is not just a debugger though, and that’s probably not even its most interesting features. From the source code of my Perl program I can inspect classes, call up parts of the Perl documentation, and do quite a bit more.
Komodo
ActiveState’s Komodo (Figure 4-5) started off as an integrated development environment for Perl on Microsoft Windows, although it’s now available on Solaris, Linux, and Mac OS X. It handles Perl as well as several other languages, including Tcl, Ruby, PHP, and Python.

Figure 4-5. ActiveState's Komodo is a complete development environment and even comes with a tutorial on its use
Affrus
Affrus is a Perl-only debugger from Late Night Software* for Mac OS X. Since I work almost exclusively on Mac, I really appreciate a debugger that’s quite Mac-like. Late Night Software started with Script Debugger for AppleScript, so they’re tuned into Macs. Besides that, Affrus has the usual debugging features.
One of the features I find especially useful is Affrus’s Arguments pane. I can add invocations of my program, and then select which one I want to run. In Figure 4-6, I’ve added two different command lines and selected the first one, which has the solid diamond next to it. When I run the program, @ARGV gets the elements 5 and 6. If I save this as an Affrus file, the next time I open the program with Affrus I still have access to those command lines.

Figure 4-6. Affrus allows me to configure several different command lines to use with my program; it updates expressions as my program runs
Like other debuggers, Affrus has a window where I can track the values of expressions. Affrus uses a separate window to display those. I can also look in the Debugging pane to see a list of all of the variables at any time (Figure 4-7).