Would modules that are not pure Perl still need a working compiler on the target machine?

Sure. All that a bundle does is to depend on a lot of other packages (those listed in the bundle), and so CPAN.pm just installs the dependencies as usual.

Or could they be complied on the donor machine and bundled onto the target machine fully formed?

Yes and no. Usually no, except when you build an entire distribution or when "donor" and target machine run exactly identical software. "Binary" modules (those using XS) usually not only depend on the exact perl version and its configuration, but usually also on the exact library versions they were linked against, and on their configurations. So if you can make perl and all libraries on the target the same as on the "donor" machine, copying will very likely work.

If you look at any binary Linux distribution (e.g. Debian, Redhat, Ubuntu, Slackware), you can see why they can distribute compiled perl modules: The distribution development team controls compiler, libraries, perl, and perl modules, both versions and configurations. The packaging system has its own way of dependency tracking, and takes care of either updating a perl package after a library was updated, or keeping an old version of the library around for a perl package.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

In reply to Re^4: Installing (lotsa) modules by afoken
in thread Installing (lotsa) modules by jplindstrom

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.