Release Language PERL 5.34.0

After 11 months of development took place Release of a new stable branch PERL programming language – 5.34 . With , about 280 thousand lines of code were changed the new release, the changes affected 2100 files, 78 developers took part in the development.

Branch 5.34 issued in accordance with the fixed schedule approved eight years ago, implying the release of new stable branches once a year and corrective releases – every three months. After about a month, it is planned to release the first corrective release of Perl 5.34.1, in which the most significant errors identified during the implementation of Perl 5.34.0 will be corrected. Simultaneously with the output of Perl 5.34, the support of the branch 5.30 is discontinued, for which in the future, updates can be released only in case of identifying critical safety problems. Also began the process of developing an experimental branch 5.35, on the basis of which in May or June 2022 will be formed a stable release of Perl 5.36, if Perl 5 will not replace the PERL 7 branch.

Key Changes :

  • Experimental support for the syntax try / cap For the processing of exceptions, which can be used instead of obvious manipulations with “EVAL”. The “TRY” block includes a block with the executed code, and the “Catch” block with the code for processing any exception that may occur when performing the first block. The “Catch” defines the variable containing the data transmitted when the exclusion is generated (for example, when an exception is triggered to the “DIE” call, said string specified as an argument). Inside the “TRY” and “CATCH” blocks, transition operators are allowed, including Return, Goto, Next, Last and Redo. Use Feature ‘Try’; try {a_function (); } Catch ($ E) {WARN “AN ERROR OCCURRED: $ E”; }
  • It is allowed to use the empty bottom limit of the range in blocks “{a, n}”, including those used in regular expressions. For example, now you can specify “{, 3}”.
  • inside parameters with figure brackets {m, n}, b {}, g {}, k {}, n {}, o {} and x {} is allowed to use spaces if the space adjacent To a curly bracket or a comma, for double shielding or in regular expression templates, for example, you can now specify “QR / A {5, 7} /” or ” x {fffc}” without entering the values ​​in quotes.
  • In addition to hex (0xDDDDD) and binary (0BDDDDD), the literals proposed a new syntax to specify the octal numbers – “0oddddd”, in which it is possible to specify an emphasis (0O123_456). Support for the new syntax also added to the BUILTIN OCT () function.
  • In the engine of regular expressions, memory leakage is eliminated.
  • updated versions of modules included in the basic supply. The composition includes the Extutils :: PL2BAT to convert Perl scripts to BAT files to run in Windows.
  • Added support for the PERL assembly for the 9Front system (Form Plan9). Improved support for Plan9 and MacOS. Symbian OS support stopped.
/Media reports.