Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Are dynamic 'use' statements possible?

by suaveant (Parson)
on Jul 01, 2002 at 20:25 UTC ( [id://178671]=note: print w/replies, xml ) Need Help??


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)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://178671]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (4)
As of 2024-03-29 13:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found