3

XNUMX年間の開発を経て 公開済み Perl プログラミング言語の新しい安定したブランチのリリース - 5.44。 あり 準備 今回の新リリースでは、約270万行のコードが変更され(ドキュメントと自動生成コードを除く - 110万行)、変更は860個のファイルに影響を与え、71人の開発者が開発に参加しました。

5.44 ブランチは、13 年前に確立された固定開発スケジュールに従ってリリースされました。このスケジュールでは、新しい安定版ブランチを年に 1 回、マイナーリリースを 3 か月ごとにリリースすることが定められています。最初のマイナーリリースである Perl 5.44.1 は、約 1 か月後にリリースされる予定で、Perl 5.44.0 の実装中に発見された最も重大なバグが修正されます。Perl 5.44 のリリースに伴い、5.40 ブランチのサポートは終了しました。今後、重大なセキュリティ問題が発見された場合にのみ、アップデートがリリースされる可能性があります。 開始 2027年前半にPerl 5.46の安定版リリースの基盤となる実験版5.45ブランチの開発プロセスは、決定がなされない限り継続される。 行きます 7.x の番号付けへ。

変更:

  • 追加した 名前付きパラメータを使用する実験的可能性 署名 関数本体ではなく、関数の宣言時に渡される変数リストを定義する関数。この新機能により、パラメータを厳密な順序ではなく、キーと値のペアとハッシュの要素割り当てに似た構文を使用して任意の順序で渡すことができるようになります。
    • 旧構文: sub f { my ($x, $y) = @_; …} f(1, 2);
    • シグネチャ: sub f ($x, $y) { … } f(1, 2);
    • 名前付きパラメータを持つシグネチャ: sub f (:$x, :$y) { … } f(y => 2, x => 1);
  • 複数の変数を持つ foreach ループでエイリアス (ポインタへのポインタ) を使用するための実験的なサポートを追加しました。この機能を使用すると、単一のループ反復で複数の値を取得するときに foreach ループでエイリアスを作成できます。たとえば、ハッシュのキーと値の両方を反復処理するときに、配列を使用してハッシュ要素のエイリアスを作成できます。 use v5.44; use feature qw( refaliasing declared_refs ); my %hash = ( one => [1], two => [2, 2], ); foreach my ( $key, @items ) ( %hash ) { say "The $key array contains: @items"; } # バージョン 5.44 より前では、逆参照が必要でした: foreach my ( $key, $var ) ( %hash ) { say "The $key array contains: @$var"; } # 実験的なrefaliasingとdeclared_refs機能を使用しない場合: foreach my $key (keys %hash) { say "$key配列には、@{$hash{$key}}が含まれています"; }
  • 正規表現では 実装された 実験的な「enhanced_xx」モードでは、/xx修飾子を角括弧内の文字クラス([a-zA-Z])とともに使用して、複数行に分割したり、コメントを挿入したりできます。たとえば、条件 if ($text =~ m/[a-zA-Z]/){ は次のように記述できます。 if ($text =~ m/[ a-z # 小文字 A-Z # 大文字 ]/xx) {
  • 擬似乱数生成器は、getentropy() システムコールを使用して、それをサポートするシステムでエントロピーを取得します (Linux、BSD、 macOS他のシステムでは、エントロピーは /dev/urandom デバイスから読み取るか、時間、プロセス ID、ポインタ値のハッシュを使用することによって取得されます。
  • 仕様サポートの追加 Unicode 17.0.
  • 識別子名と正規表現グループについては、Unicode規則への厳格な準拠が確保され、これまでwクラスでカバーされていた約160のUnicode文字が使用禁止となりました。例えば、すべての文字、数字、アンダースコア文字をカバーしていたwクラスは、実際の文字に似ているものの文字ではない丸で囲まれたラテン文字を除外するようになりました。この動作変更は、utf8モードを使用するプログラムのみに影響します。
  • Perl_study_chunk 関数におけるバッファオーバーフローによる脆弱性を修正しました (CVE-2026-8376、32 ビット アセンブリに現れる)および S_measure_struct(CVE-2026-57432)、および正規表現エンジンの 16 ビットカウンタのオーバーフロー (CVE-2026-13221) 正規表現が失敗する原因となる可能性があります。
  • goto演算子を使用してループやブロック構造内の特定の位置にジャンプすることは禁止されています。この機能は2010年に廃止されました。
  • パフォーマンスの最適化により、整数の加算、減算、乗算、関数シグネチャの処理、およびコンパイル時に既知の文字列キーを使用してキー/値リストからハッシュを生成する処理が高速化されました。

出所: linux.org.ru

DDoS 保護機能を備えた信頼性の高いサイト用ホスティング、VPS VDS サーバーを購入する 🔥 DDoS攻撃対策付きの信頼性の高いウェブサイトホスティング、VPS/VDSサーバーを購入しましょう | ProHoster