You could try using the Perl debugger on this one. From the command line, type
perl -d PROGRAM
This starts your program with the Perl interactive debugger. Since your problem is at line 185, set a breakpoint at it once you are in the debugger.
b 185
Then 'c'ontinue the program and it will run until the breakpoint.
c
The next line of code you will see is line 185. Note: the debugger displays the line of code about to be executed. Then, print the value the suspect variable(s) that name be causing the problem.
p $variable1, " ", $variable2, " ", $variable3
The spaces are to prevent the vars from being run together.
Make sure you print them both before and after the code is run to see how they've changed. Particularly, print the value of any variables upon which a conditional depends.
At this point, step through the problem area one line at a time to check it's execution.
s
After stepping through each line, print out the value of the variables you wish to examine to see if anything is different from what you expect. |