OK I'm totally lost at this point. I tried scaling back, and using browser passed variabls to call functions. Regretfully I can't even get that far because I'm simply not understanding why the following fails to work:
for $plugin (<Main/*.pm>) {
$plugin =~ s!/!::!g;
$plugin =~ s/\.pm$//;
use $plugin;
}
What in the world am I doing wrong here? When this executes I get this error in the Apache error.log (and Error 500 in the Browser):
...syntax error at .... near "use $plugin"
Changing the code to:
for $plugin (<Main/*.pm>) {
$plugin =~ s!/!::!g;
$plugin =~ s/\.pm$//;
$plugin = "use $plugin\;";
$plugin;
}
Results in no error message in the browser, however, Errors in the Apache errors.log about missing and/or unknown function calls (Undefined subroutine), which would be in the included (
use'd) .pm files...
I also attempted to use
require and
eval, which resulted Undefined subroutine messeges appearing in the Apache error.log. How can you simply
use a complete directory of .pm files, without packageing anything or calling specific subs in the includes (blind including of files in location X), ignoring all potential hazards of doing something like this, just
use filename; in a for loop and continue processing, and have the functions in the
use'd files available outside the specific loop that
use'd them?