Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Jun 2013 12:34:58 +0000
From:      Tom Hukins <tom@FreeBSD.org>
To:        freebsd-ports@freebsd.org
Subject:   Re: Rebuild all ports for perl minor version update?
Message-ID:  <20130614123458.GQ35400@eborcom.com>
In-Reply-To: <51BAFCCC.9090708@marino.st> <20130614064003.55745320@scorpio>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 14, 2013 at 06:40:03AM -0400, Jerry wrote:
> On Fri, 14 Jun 2013 12:10:17 +0200 Baptiste Daroussin articulated:
> > 
> > This is not a FreeBSD "specific" problem given that Marc Espie is
> > from OpenBSD and so was speaking of problems found on OpenBSD. using
> > google I found the said mail quite quickly:
> > http://mail-index.netbsd.org/tech-pkg/2013/06/03/msg011435.html
> > 
> > Where Marc gives example of changes in perl 5.18 that can lead to
> > breakage.
> 
> Just so I am understanding this correctly, the problem is not with
> Perl-5.18, but rather applications that were written for earlier
> versions

Yes.  Each major release of perl5 (such as 16.0 and 18.0) contains
changes to the language.  Marc Espie's summary covers the main
changes; perldelta lists the full details for each release:
https://metacpan.org/module/RJBS/perl-5.18.0/pod/perldelta.pod

> those problems seem to reside on *BSD platforms more readily than
> other OSs.

No, the significant changes in 5.18.0 affect all platforms that perl5
runs on.

On Fri, Jun 14, 2013 at 01:21:48PM +0200, John Marino wrote:
> I despise languages that aren't backwards compatible, so if 5.18
> actually broke compatibility intentionally then I for one would vote
> for staying on 5.16 for a long, long time.  I am reserving judgement
> for the full story.

The perl5-porters share your distate for backwards incompatibility.
They work hard to ensure old perl code continues to work with minimal
changes.  Perl5 still supports many 20 year old scripts, as well as
more recent features such as Unicode support.  It's hard to get the
balance right.

The decision to remove smart match was not taken easily, but the
perl5-porters found no way to remove the confusion and ambiguity that
arose from its real-world use.  Security concerns prompted a
reimplementation of hashes that has exposed bugs in third-party code.

To a lesser extent perl-5.14.0 and perl-5.16.0 introduced minor
problems with popular CPAN modules and other tools written in Perl.
For both these release, as well as perl-5.18, the CPAN Testers have
submitted bug reports, often with fixes or workarounds, and over time
these releases, and the tools that depend upon them have matured.

I expect we'll see something similar with perl-5.18.  5.18.1 will fix
any regressions found in the core language from previous releases, and
third-party scripts and modules will get fixed over time.

In many ways, a new release of perl5 comes with similar problems and
benefits to a new release of FreeBSD.  Both projects have similar
release management styles.  Both remain backwards compatibile in many
cases whilst offering improved feature sets.

Tom



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130614123458.GQ35400>