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)