I installed two version of Perl using --as
(naming the version with the major number only)
5.20.0
installed as 5.20
and5.20.0
with threading installed as 5.20t
This is the output of perlbrew list
* 5.20 (5.20.0)
5.20t (5.20.0)
I then upgraded Perl to 5.20.1
using
$ perlbrew upgrade-perl
Upgrading 5.20 to 5.20.1
Installing /Users/corti/perl5/perlbrew/build/perl-5.20.1 into ~/perl5/perlbrew/perls/5.20
This could take a while. You can run the following command on another shell to track the status:
tail -f ~/perl5/perlbrew/build.perl-5.20.1.log
5.20 is successfully installed.
Perl seems to be correctly upgraded (v5.20.1):
$ perl -version
This is perl 5, version 20, subversion 1 (v5.20.1) built for darwin-2level
Copyright 1987-2014, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
But perlbrew list
does not recognise the new version and calling perlbrew upgrade-perl
does the upgrade again
$ perlbrew list
* 5.20 (5.20.0)
5.20t (5.20.0)
Why does perlbrew
not recognise the update?
Because perlbrew checks for the existence of a file called
perls/*/.version
and uses its contents to determine which version of Perl is installed. If it doesn't find the file, it falls back to running the perl executable
perls/*/bin/perl
to determine the installed version and the creates the .version file.
The upgrade-perl command fails to update the file, so subsequent runs don't properly detect the installed version. I have filed a bug report
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With