Corion is being a little too terse.

Once you've used the CPAN.pm or CPANPLUS.pm system to create an autobundle file on one machine, you can copy it to another machine and use the CPAN or CPANPLUS "install" command on the bundle file and it will automatically install the modules from cpan. This takes awhile, and it's far from painless, but I think it's more likely to work that just trying to copy perl installations from one box to another (remember: some "perl" modules contain C code that needs to be compiled and any architectural changes will screw these up. And aren't you upgrading your perl version? The perl version is in the path to your modules, and I suggest that it's there for a reason).

So what you do is something like this:

perl -MCPANPLUS -e'shell' b
Or alternately:
perl -MCPAN -e'shell' autobundle

Note that when it finishes it will tell you where it wrote the bundle file.

Bundle files are modules that contain only POD, with a CONTENTS section that contains the actual listing of module names, associating module name with version number.

Chromatic's "Perl Hacks", provides a script (Hack #32) to trim modules from a bundle if they are listed in Module::Corelist.

An even worse problem in my opinion is that this system tries to preserve version numbers. You're far more likely (for a development machine, at least) to want the latest version of everything than a precise clone of the original.

You can do that by hacking the bundle file first, and by replacing all the version numbers (the second column) with the string 'undef'.

Then, after copying your hacked bundle file to the target machine, you once again run either the CPAN.pm or CPANPLUS.pm shell and use the "install" command on the bundle.

You must have CPAN/CPANPLUS set up to deal with dependencies automatically, otherwise this is useless.

Even so, it's likely you'll run into snags along the way. You'll have to get very lucky to just let the install chug over night. More likely, you'll find it got stuck on some problem you'll need to solve manually and then re-start.

I suggest that before restarting you make note of the last successfully installed module, and delete the ones that you don't need to look at again from the bundle file.

If any of this sounds fugly, it's because it is. This is a problem waiting to be solved better, if anyone wants to take it on.


In reply to Re^3: How to move 3 years of modules to my new XP box? by doom
in thread How to move 3 years of modules to my new XP box? by dmizz

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.