Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Answer: Loading modules by external data (i.e., database)

by Corion (Pope)
on Jun 04, 2000 at 14:22 UTC ( #16284=categorized answer: print w/replies, xml ) Need Help??

Q&A > object-oriented programming > Loading modules by external data (i.e., database) - Answer contributed by Corion

In my (frozen) file information display tool (a souped up magic program), I used dynamic loading for modules more or less like this :

$handler = eval( "use $modulename; return $modulename->new;" );
(I'm in a hurry, if this one dosen't work, tell me and I'll look up the actual code :))

Replies are listed 'Best First'.
RE: Answer: Loading modules by external data (i.e., database)
by Anonymous Monk on Jun 07, 2000 at 21:06 UTC
    That works just fine: $class = "my::Module"; $obj = eval("use $class; return $class->new;"); is the same as use my::Module; $obj = my::Module->new; But why does this work: use my::Module; $obj = my::Module->new($args_ref); When this doesn't: $class = "my::Module"; $obj = eval("use $class; $class->new($args_ref);"); $obj comes back undefined. Any ideas?
Log In?

What's my password?
Create A New User
[choroba]: I don't know. Maybe a new capability will be given to Hermits?

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2018-06-22 07:59 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (122 votes). Check out past polls.