And I am able to install these modules ... The only problem is that I can't 'use' them afterwards.

If you can install them (using one of the many ways, cpan, cpanm, perl Makefile.PL && make && make test && make install, ppm, ...) then you should be able to use them. Otherwise, you may have installed them in a different location than your perl expects, this might happen, for example, if you have two versions of Perl installed.

Note that since use has a compile-time effect, it doesn't make sense to put it in a foreach. If you want to have the advantages of that compile-time effect, like e.g. not having to use parentheses on imported functions, then the list of modules has to be known at compile time, so it's unclear to me why you don't just write use Foo::Bar; use Bar::Foo;.

Loading modules at runtime can be achieved in other ways. For example, require Foo::Bar; Foo::Bar->import; or my $modulename = "Foo::Bar"; eval "use $modulename; 1" or die $@; (Update before posting: Or e.g. Module::Load, as hippo showed).

Update: If you are still having trouble, please show us an SSCCE so we can try to reproduce the problem on our end, plus the error messages you're getting. See also How do I post a question effectively?


In reply to Re: Use 'use' in foreach by haukex
in thread Use 'use' in foreach by zidi

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.