in reply to Related question: loading modules at run time
in thread How can I source other perl scripts from within a Perl script

Undeclared functions at compile time is only a problem if you call them without paranteheses, that is
my $result=function_one sub function_one{ #blah, blah }
If you wish to use the functions in LWP that way, you will have to do something like this:
eval q( use LWP::UserAgent qw(whatever); my $ua=LWP::UserAgent::new; );
Ugh, ugly...probably better to try something like this:
require LWP::UserAgent; import LWP::UserAgent(qw(whatever)); no strict subs; my $ua=LWP::UserAgent::New;
If you can manage to put a pair of parantheses after each method call, this will do:
require LWP::UserAgent; import LWP::UserAgent(qw(whatever)); my $ua=LWP::UserAgent::new(); #continue doing what you do with LWP...
Notice that theres no need for a no strict subs when you tell perl that this is a function call.
AUTOLOAD is used in packages for handling calls to routines within the package that are not defined in the package. One way to use this feature, is to do some custom error handling.
In a program I'm writing at the moment, I use it to forward unknown method calls to a different object. Sort of a mix between is-a and has-a relationship.
However, AUTOLOAD does not automatically load subroutines you need.
GoldClaw