Re: Oldest supported Perl version
From: H.Merijn Brand <hidden>
Date: 2016-06-15 22:46:37
On Mon, 20 Apr 2009 10:59:00 -0400, Jay Soffian [off-list ref] wrote:
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:quoted
Sorry, I should have checked myself. defined-or "//" is 5.8.1 or later.
Being the maintainer of the defined-or patch for perl 5.8, I can short-circuit this * defined-or (//) is officially available from perl-5.10.0 and up you can be *sure* to have it there. the 'err' keyword that was the low-precedence version for // is gone. * defined-or is available in any version of perl 5.8.x is the binary was built with the appropriate patch, which is available on my CPAN directory: ftp://download.xs4all.nl/pub/mirror/CPAN/authors/id/H/HM/HMBRAND/ These patches still include the 'err' keyword * defined-or is definitely NOT available in 5.6.x All my perl-5.8.x builds include this patch, so all people that use my perl builds on HP-UX, will have it available. One major distribution also included it in their perl builds, but I do not remember which it is. My personal preference for the lowest usable and reliable perl version is 5.8.5 (FWIW)
quoted
Now the real question was if we still support anything older, and if so what is the bottom version? I certainly can go with "5.8.1 or later", but I vaguely recall during the gitweb discussion we said anything without the utf-8 support is unusable for gitweb, but I think we also said that the rest of the git codebase should support running with something older (5.6.1, perhaps).15 minutes of research: * 2006-06-25 Junio C Hamano: "Tentatively let's say our cut-off point is somewhere around 5.6." -- http://article.gmane.org/gmane.comp.version-control.git/22607 * 2008-05-30 Lea Wiemann: "Gitweb relies on Unicode support (e.g. "use Encode") and will continue to be compatible with 5.8 and 5.10 only" -- http://article.gmane.org/gmane.comp.version-control.git/83339 * 2008-08-13 Lea Wiemann: "This makes Git.pm dependent on Perl 5.6.1. Some tests (like t3701-add-interactive.sh) seem to work with pretty much any Perl version out there, and requiring File::Spec changes this" -- http://article.gmane.org/gmane.comp.version-control.git/92260 * 2008-08-15 Marcus Griep: "Git.pm: Make File::Spec and File::Temp requirement lazy" -- c14c8ce * 2008-08-30 Junio C Hamano: "I agree we should say we rely on 5.6 or newer." -- http://article.gmane.org/gmane.comp.version-control.git/94399 * 2008-09-01 Junio C Hamano: "I personally think it is probably Ok to declare that we do depend on 5.8" -- http://article.gmane.org/gmane.comp.version-control.git/94523 So here's my take-away. For the *.perl scripts and gitweb, it's 5.8.0. For the test suite and Git.pm, all Perl versions are theoretically supported, but for practical purposes, it may be 5.6.0. Whatever is decided this time, perhaps it should be burned into the tops of the *.perl scripts (i.e. "require 5.008;"). It should also be added to CodingGuidelines. You know, so this conversation doesn't keep recurring. :-)
-- H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00, 11.11, 11.23, and 11.31, OpenSuSE 10.3, 11.0, and 11.1, AIX 5.2 and 5.3. http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/ http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/