Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: HTML::Form->parse() fails under 5.8.1

by dda (Friar)
on Mar 14, 2004 at 09:12 UTC ( [id://336475]=note: print w/replies, xml ) Need Help??


in reply to HTML::Form->parse() fails under 5.8.1

I've found the problem -- I upgraded my perl from 5.8.0 to 5.8.1 some time ago, and did not upgrade modules. As a result, PullParser.pm (and not only this module) was from the old version:
[dda@dragon dda]$ locate PullParser /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/HTML/PullPars +er.pm
After I've downloaded and installed newer version of HTML::Parser, I have two places where this file is located:
[dda@dragon dda]$ locate PullParser.pm /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi/HTML/PullParser +.pm /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/HTML/PullPars +er.pm
Now my script works! But I wonder how should I process during perl upgrade? This is RedHat 9, and perl 5.8.0 was shipped with it, and 5.8.1 was installed from RPM later. I have a lot of other modules in 5.8.0 hierarchy, should I upgrade all of them too? And how?

--dda

Replies are listed 'Best First'.
Re: Re: HTML::Form->parse() fails under 5.8.1
by Corion (Patriarch) on Mar 14, 2004 at 09:23 UTC

    Personally, I would leave the perl that came with my system alone and install a second perl parallel to it, but if RedHat distributes RPMs for upgrading, possibly they have tested them against their system utilities.

    The CPAN.pm module has a feature called "autobundle", that you can use to reinstall any modules that you want to transfer from the old installation to the new installation - if you still have the old perl (5.8.0) available and running.

    perl5.8.0 -MCPAN -eautobundle

    If you don't have your old perl anymore, you will have to do some shell/Perl trickery to get the interesting files out of /usr/perl/site/lib/5.8.0/ or wherever your Perl modules have been installed into:

    #!/bin/bash find /usr/perl/site/lib/5.8.0 -name '*.pm' | \ perl -pe 's!/!::!g; s!\.pm$!!'

    The resulting list should be a (overly big) list of all modules, and you can then let CPAN.pm loose on that list. Not all modules will be found, and you will install many modules more than one time, and the list won't be ordered according to the prerequisites, but at least in the end you should have all modules back.

Re: Re: HTML::Form->parse() fails under 5.8.1
by bart (Canon) on Mar 14, 2004 at 22:27 UTC
    If you plan on upgrading perl, it's best to skip 5.8.1 and go directly to 5.8.2 (or later). 5.8.1 was not binary compatible with 5.8.0, the cause of your problems and the reason why 5.8.2 was released very soon after 5.8.1. (link: announcement of perl 5.8.2)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://336475]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-20 04:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found