#Somehow, we figure out the name of a module we need: $module_name = 'mymodule.pm'; #Then load it: eval 'require $module_name'; #And then try to make use of its vars and subs: $module_name->import(); #fails (of course)
$module_name isn't an object, so import does not apply to it. How to I get a handle on the relevant object upon which to call import? require just returns bool.

Nobody seems to do this; it's not in the camel, cookbook, here, or anywhere on the Internet (the whole Internet!), so perhaps this is the wrong approach. What I want is to load a module who's name I do not know until we get rolling, and indeed can never be a bare word, as is usual practice. Then have access to the goodies in the loaded file, which is normally achieved with import(). Any ideas?
Sincerely,
Aleksander

In reply to import() when require-d module name is variable by akujbida

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.