in reply to Are dynamic 'use' statements possible?

It is very possible... here is a snippet of code I use to load a library which mimics Net::FTP, and if that is not found tries to load Net::FTP directly...
BEGIN { $^W = 0; eval "use Net::Gnift qw(Net::FTP);"; if($@) { eval "use Net::FTP;"; if($@) { print qq`Content-Type: text/html\n\n<HTML><BODY>You do not + have Net: :FTP installed. You need it to use Web-FTP. You can find it on <A HREF +="http://s earch.cpan.org/">CPAN</A></BODY></HTML>`; die "Net::FTP not found in \@INC: @INC"; } } }
Of course, that is in a begin block, if you want to do it at run time I believe the same thing is in effect, run an eval with the use in a string, check $@ for errors...

In that case you can even build strings to do a use on... you could probably also pull it off somehow with require and import, but I'm not sure how...

                - Ant
                - Some of my best work - (1 2 3)