in reply to check symbol table w/ dynamic name

require already checks if the module has already been loaded before loading it again, so the following should work:
my $module = 'Foo::Bar'; my $pm = $module; $pm =~ s{::}{/}g; $pm .= '.pm'; eval { require $pm } or die("Unable to load plugin $module: $@\n");

Other solutions provided in this thread.