lwicks has asked for the wisdom of the Perl Monks concerning the following question:
I have some scripts that I have started unit-testing using the "modulino" idea. I have encountered a problem in that when the script is called with "perl -d" the script does not run as caller() returns a true value.
I have the main body of the script wrapped in a main() and some subroutines being slowly pulled out of the main() into their own subroutines.
At the top of the script I have:
When called in .t tests it works as I want, not running main() so I can test the subroutines. When I call the script from CLI it works great calling main().main(@ARGS) unless caller();
The problem occurs when I call it from the CLI with:
At this stage caller returns a valid value (rather than undef) and main is not called. :-(perl -d myscript.pl
Suggestions would be much appreciated about how to approach this one.
Kia Kaha, Kia Toa, Kia Manawanui!
Be Strong, Be Brave, Be perservering!