Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: Upgrading Perl 5.8 program to 5.22

by Corion (Patriarch)
on May 23, 2016 at 11:11 UTC ( #1163863=note: print w/replies, xml ) Need Help??

in reply to [SOLVED]:Upgrading Perl 5.8 program to 5.22

There haven't been many wide-sweeping changes between 5.8 and 5.22 that would immediately break your program.

The most obvious changes would be the much better handling of Unicode.

The annoying stuff for migrating to a new Perl version is that you need to collect all the missing prerequisites that likely have accumulated in your old Perl installation. I keep track of my prerequisites in a Makefile.PL even if I don't intend to distribute the software ever. This makes reinstallation of all prerequisites as easy as:

cpanm --installdeps .

You can test the migration to a new version of Perl by installing a separate version of Perl using perlbrew. That way, you have a low risk of ruining your existing installation.

Replies are listed 'Best First'.
Re^2: Upgrading Perl 5.8 program to 5.22
by $h4X4_|=73}{ (Monk) on May 23, 2016 at 16:44 UTC

    The error I get when changing to 5.10 is "Undefined subroutine &Exporter::import called at C:/strawberry/perl/lib/CGI/ line 371." That is the same message I get for any version higher. I'm kinda sure its because of the way I use Exporter in a module to keep all the objects and variables in scope through the program.

    Correct me if I'm wrong. Looking in the perl5100delta at perldoc. The "Incompatible Changes" >> "Recursive inheritance detected earlier" could be the thing that broke the program.

    I do not think I can do the magic I could with Exporter any more.

      Did you upgrade modules such as CGI::Carp after upgrading the Perl version? It seems more likely that an old version of CGI::Carp was relying on some behavior that has changed. Upgrading CGI::Carp to a newer version could fix the issue.


        Updating all the default modules was the first thing I did after installing Perl

        I spoke to soon. Just rechecked and not all the modules where updated. It updated CGI::Carp but Exporter is still v5.63 not v5.72.

        Thanks for making me question myself.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2022-01-26 17:47 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (69 votes). Check out past polls.