in reply to "use" dynamic module
my $file = $mod; $file =~ s{::}{/}g; $file .= '.pm'; eval { require $file; }; die("Unable to load $mod: $@\n") if $@;
should do what you want.
Note that it executes at run-time (while use executes at compile-time), but that's probably fine. Wrap the code in a BEGIN { } block if you need to execute this at compile-time.
Note that it doesn't import symbols, but that's probably a good thing for dynamically loaded modules. Add $mod->import if $mod->can('import'); if you need to import symbols.
Update: PodMaster suggested that I provide these links: use, require.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: "use" dynamic module
by xdg (Monsignor) on Dec 06, 2005 at 09:08 UTC | |
|
Re^2: "use" dynamic module
by ysth (Canon) on Dec 06, 2005 at 21:04 UTC |