tree [[EMAIL PROTECTED]] quoth:
*>I have a question on administering perl..
*>
*>I recently upgraded perl on the box from 5.6 to 5.6.1 and now i'm seeing
*>alot of these "Subroutine redefined" messages.  what is a "subroutine
*>redefined" message??
*>
*>I also had to reinstall alot of CPAN modules.. i'm probably being
*>boneheaded and there's documenation about this somewhere.. but how can I
*>avoid re-installing all the cpan modules i've installed when i upgrade
*>perl?  is it as simple as copying them over?

It depends on the version and it gets to be a bit of a dodgy situation to
which there is no easily defined answer for everyone.

Assuming that you made 5.6.1 and installed it without a hitch you will
notice that /usr/local/lib/perl5 has a 5.6/ 5.6.1/ and site_perl/ dir in
it. If you type 'perl -V' it will show you the @INC which will point to
the 5.6.1 libs. Now your locally installed modules are going to be
installed in /usr/local/lib/perl5/site_perl/5.6.1 [ if you installed in
/usr/local ] and your 5.6 modules will be in
/usr/local/lib/perl5/sit_perl/5.6. You could try and copy over all of the
5.6 modules into 5.6.1 and then copy the perllocal.pod to the arch dir in
the 5.6.1 distribution changing the installation path for the modules in
it but....it's a lot more work than it's worth especially when you can't
be sure the 5.6.1 didn't break something that worked fine with 5.6. 

The saner way to do this is to use autobundle with CPAN.pm if you still
have a copy of your perl5.6 binary around.
http://www.cpan.org/misc/cpan-faq.html#How_make_bundle 
shows how to use this. It makes the job of installing modules en masse
quite a bit less painful.

e.

Reply via email to