# Perl Upgrade Discrepancy



## rtwingfield (Jun 5, 2015)

Upgrading from Perl 5.8.9 to Perl 5.22, the version reported by `perl -v` looks incorrect.  See the following:

```
# perl -v

This is perl, v5.8.9 built for i386-freebsd-64int
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2008, 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.
```
The documentation also reflects v5.8.9.

I previously posted a problem regarding libutil.so.7 not found

As I explained in the post, I found the .7 version of the object and copied it to the FreeBSD v10.1 system.


```
. . .found
/usr/bin/perl
/usr/local/bin/perl
/usr/local/lib/perl5/5.8.9/perl
/usr/local/lib/perl5/5.22/perl
/usr/local/lib/pidgin/perl   

root@bravo:/usr/local/lib/perl5 # ls -lsah
total 52
 4 drwxr-xr-x  6 root  wheel  512B Jun  5 00:33 .
32 drwxr-xr-x  60 root  wheel  31K Jun  4 21:54 ..
 4 drwxr-xr-x  54 root  wheel  2.5K Jun  5 00:34 5.22
 4 drwxr-xr-x  42 root  wheel  3.0K Jun  4 16:42 5.8.9
 4 drwxr-xr-x  2 root  wheel  512B Jun  4 16:42 i386-freebsd-64int
 4 drwxr-xr-x  6 root  wheel  512B Jun  5 00:33 site_perl
```
Notice the process that completed on June 5 about thirty minutes past midnight.  It also appears in the /usr/local/lib/perl5 directory as v5.22/perl.  Curiously, the old version 5.8.9 was touched yesterday afternoon Jun 4 around 16:42 hrs.

The port installation apparently built from the v5.22 code, but where does the reported v5.8.9 come from.  Could the port compile that relied on the libutil.so.7 object introduce this discrepancy?


----------



## wblock@ (Jun 5, 2015)

The obsolete library is probably not helping.  But you have both versions of Perl installed.  Perl 5.8 is very old and has not been the default Perl in a long time.  /usr/ports/UPDATING has at least three entries where the default Perl is upgraded, using -o to `portmaster` (please stop using portupgrade) to set the new Perl as the "origin".


----------



## rtwingfield (Jun 5, 2015)

wblock@ said:


> Perl 5.8 is very old and has not been the default Perl in a long time. /usr/ports/UPDATING has at least three entries where the default Perl is upgraded


Yes, I know, and I want to completely remove the old version.

Also, I don't know how, but I've completely missed the recommendation in the _Handbook_ article, 
*5.5. Using the Ports Collection*


> *Important:*  Before attempting an upgrade, read /usr/ports/UPDATING


 I'll follow through with the information contained therein.  (Thanks . . .too many late nights.)

BTW, the Handbook is ambiguous regarding the preferred vs. deprecated methods, etc. For example, there is this comment, 





> To perform the actual upgrade, use either Portmaster or Portupgrade.


----------



## wblock@ (Jun 5, 2015)

Upgrading FreeBSD Ports is my "best practices" take on that.  It's shorter and more to the point than the Handbook version.

(Incidentally: "depreciated" is a financial term.  "Deprecated" means roughly "to be avoided".)


----------



## rtwingfield (Jun 5, 2015)

wblock@ said:


> Upgrading FreeBSD Ports is my "best practices" take on that.  It's shorter and more to the point than the Handbook version.


. . .bookmarked it!  Very well written.  (I should have looked for something like the same from your "_reading list_".)

FYI, I have also just recently referred yet again, to your article, *Disk Setup On FreeBSD*.  This is about the sixth time I've run GPT up the flagpole.



> (Incidentally: "depreciated" is a financial term.  "Deprecated" means roughly "to be avoided".)


(. . .never said I was a good proofreader . . .that's what my wife's for  )


----------

