Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

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
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2017-09-23 04:33 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (270 votes). Check out past polls.