in reply to Ultimate Debugging:

To understand recursion you must first understand recursion.

Out of curiousity, have you played with the Perl debugger? Check out perldebug.