Okay, then please explain the output from the "perl -MO=Terse AA.pm", which is:
Bareword "CA_list" not allowed while "strict subs" in use at AA.pm
line 309.
BEGIN not safe after errors--compilation aborted at AA.pm line 423.
Note that line 423 is about 15 lines into the *next* subroutine after the one with the bareword parameter. Adding double quotes to the parameter fixed the problem. What made this so hard to root cause is that the problem did not cause the subroutine with the problem to fail. The error message also corresponds with what was observable in the perl debugger - "S AA" failed to show any subroutines after the one that contained line #309.
| [reply] |
$ perl -c aa.pm
syntax error at aa.pm line 4, near "use strict
use warning
"
syntax error at aa.pm line 8, near "}"
aa.pm had compilation errors.
Tracking down syntax errors is very easy, its perl -c everyfile.pl
perl -c lib/Everyfile.pm
...
When you're developing , skip B::Terse, don't forget to test every single subroutine in you write in your test suite, so even if eval is hiding any die-ing you'll notice when you typo
Hi :) | [reply] [d/l] [select] |