in reply to Same function multiples unknown modules

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?