The much-anticipated Perl 7 continues to twinkle in the distance although the final release of 5.36.0 is “just around the corner”, according to the Perl Steering Council.
Well into its fourth decade, the fortunes of Perl have ebbed and flowed over the years. Things came to a head last year, with the departure of former “pumpking” Sawyer X, following what he described as community “hostility.”
Part of the issue stemmed from the planned version 7 release, a key element of which, according to a post by the steering council “was to significantly reduce the boilerplate needed at the top of your code, by enabling a lot of widely used modules / pragmas.”
It all sounds wonderful, but the price would have been the breaking of some backwards compatibility, meaning that some code targeting earlier versions of the programming language would have needed changing.
“This prompted a lot of heated discussions,” said the council. “Some thought this was a great idea, and some thought it a terrible idea to throw away one of Perl’s key strengths.”
It has been a trying year for Perl, with permabans turning into year-long lock-outs for “unacceptable behavior” among other events distracting the community from the business of what to do about the proposed version 7.
Last night’s post clarifies things. There might be a v7 at some undefined point in the future, once there are enough new features to justify a new baseline. It will, however, be backwards compatible with Perl 5 by default.
But there are caveats. Code must be “sensibly written” according to the council, and it noted there is always the danger of something like a fix for a security bug breaking backwards compatibility. Also, and doubtless with an eye on what has already been cannibalized by the likes of PHP and Python, they expressed a desire to increase the rate at which new features are introduced and encourage their adoption.
At time of writing the third release candidate of Perl 5.36 was available, but the final release was not out yet. The post from the Perl Steering Council does much to clarify the future and answer the question, as it put it, “What happened to Perl 7?” ®