ืฉื—ืจื•ืจ ืฉืคืช ื”ืชื›ื ื•ืช Perl 5.30.0

ืœืื—ืจ 11 ื—ื•ื“ืฉื™ื ืฉืœ ืคื™ืชื•ื— ื”ืชืงื™ื™ื ืฉื—ืจื•ืจ ืฉืœ ืขื ืฃ ื™ืฆื™ื‘ ื—ื“ืฉ ืฉืœ ืฉืคืช ื”ืชื›ื ื•ืช Perl - 5.30. ื‘ื”ื›ื ืช ื”ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื” ืฉื•ื ื• ื›-620 ืืœืฃ ืฉื•ืจื•ืช ืงื•ื“, ื”ืฉื™ื ื•ื™ื™ื ื”ืฉืคื™ืขื• ืขืœ 1300 ืงื‘ืฆื™ื, ื•-58 ืžืคืชื—ื™ื ืœืงื—ื• ื—ืœืง ื‘ืคื™ืชื•ื—.

ืกื ื™ืฃ 5.30 ืฉื•ื—ืจืจ ื‘ื”ืชืื ืœืœื•ื— ื”ืคื™ืชื•ื— ื”ืงื‘ื•ืข ืฉืื•ืฉืจ ืœืคื ื™ ืฉืฉ ืฉื ื™ื, ืžื” ืฉืžื—ื™ื™ื‘ ืฉื—ืจื•ืจ ืฉืœ ืกื ื™ืคื™ื ื™ืฆื™ื‘ื™ื ื—ื“ืฉื™ื ืื—ืช ืœืฉื ื” ื•ืฉื—ืจื•ืจ ืžืชืงืŸ ื›ืœ ืฉืœื•ืฉื” ื—ื•ื“ืฉื™ื. ื‘ืขื•ื“ ื›ื—ื•ื“ืฉ ืžืชื•ื›ื ืŸ ืœืฉื—ืจืจ ืืช ื”ืžื”ื“ื•ืจื” ื”ืžืชืงื ืช ื”ืจืืฉื•ื ื” ืฉืœ Perl 5.30.1, ืฉืชืชืงืŸ ืืช ื”ืฉื’ื™ืื•ืช ื”ืžืฉืžืขื•ืชื™ื•ืช ื‘ื™ื•ืชืจ ืฉื–ื•ื”ื• ื‘ืžื”ืœืš ื”ื™ื™ืฉื•ื ืฉืœ Perl 5.30.0. ื™ื—ื“ ืขื ืฉื—ืจื•ืจื• ืฉืœ Perl 5.30, ื”ื•ืคืกืงื” ื”ืชืžื™ื›ื” ื‘ืกื ื™ืฃ 5.26, ืฉืขื‘ื•ืจื• ืขืฉื•ื™ื™ื ืœื”ืชืคืจืกื ืขื“ื›ื•ื ื™ื ื‘ืขืชื™ื“ ืจืง ืื ื™ื–ื•ื”ื• ื‘ืขื™ื•ืช ืื‘ื˜ื—ื” ืงืจื™ื˜ื™ื•ืช. ื›ืžื• ื›ืŸ ื”ื—ืœ ืชื”ืœื™ืš ื”ืคื™ืชื•ื— ืฉืœ ืขื ืฃ ื”ื ื™ืกื•ื™ 5.31, ืฉืขืœ ื‘ืกื™ืกื• ื™ื™ื•ื•ืฆืจ ืžื”ื“ื•ืจื” ื™ืฆื™ื‘ื” ืฉืœ Perl 2020 ื‘ืžืื™ 5.32.

ืžืคืชื— ืฉื™ื ื•ื™ื™ื:

  • ืชืžื™ื›ื” ื ื™ืกื™ื•ื ื™ืช ื‘ืคืขื•ืœื•ืช "" ื ื•ืกืคื” ืœื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื.(?<!ืชื‘ื ื™ืช)"ื•"(?โ€น=ื“ืคื•ืก)ยป ืœื’ื™ืฉื” ืžื•ื’ื‘ืœืช ืœืชื‘ื ื™ื•ืช ื‘ืขืœื•ืช ืฉื ืฉืขื•ื‘ื“ื• ื‘ืขื‘ืจ. ื”ื’ื“ืจืช ื”ื“ืคื•ืก ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ื‘ื˜ื•ื•ื— ืฉืœ 255 ืชื•ื•ื™ื ืžื ืงื•ื“ืช ื”ื”ืชื™ื™ื—ืกื•ืช;
  • ื”ืขืจืš ื”ืžืจื‘ื™ ืฉืœ ืžืคืจื˜ ื”ื’ื•ื“ืœ ("n") ื‘ื‘ืœื•ืงื™ื ืฉืœ ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™ "{m,n}" ื”ื•ื’ื“ืœ ืœ-65534;
  • ื ื•ืกืฃ ืžื•ื’ื‘ืœ ืœืชืžื•ืš ืžืกื›ื•ืช ืœื”ื“ื’ืฉืช ืงื˜ื’ื•ืจื™ื•ืช ืžืกื•ื™ืžื•ืช ืฉืœ ืชื•ื•ื™ื ื‘ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื, ื”ืžื›ืกื•ืช ืขืจื›ื•ืช Unicode ืฉื•ื ื•ืช. ืœื“ื•ื’ืžื”, ื”ื‘ื™ื˜ื•ื™ "qr! \p{nv= /(?x) \A [0-5] \z / }!" ืžืืคืฉืจ ืœืš ืœื‘ื—ื•ืจ ืืช ื›ืœ ืชื•ื•ื™ Unicode ื”ืžื’ื“ื™ืจื™ื ืืช ื”ืžืกืคืจื™ื ืž-0 ืขื“ 5, ื›ื•ืœืœ ืื™ื•ืช ืชืื™ืœื ื“ื™ ืื• ื‘ื ื’ืœื™ ืฉืœ ืžืกืคืจื™ื;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ ืชื•ื•ื™ื ื‘ืขืœื™ ืฉื ื‘ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื
    ื‘ืชื•ืš ืชื‘ื ื™ื•ืช ื”ืžื•ืคืจื“ื•ืช ืขืœ ื™ื“ื™ ืžืจื›ืื•ืช ื‘ื•ื“ื“ื•ืช (qr'\N{name}');

  • ืชืžื™ื›ืช ืžืคืจื˜ Unicode ืขื•ื“ื›ื ื” ืœื’ืจืกื” 12.1. ื“ื’ืœ ื”ืคื™ืชื•ื— ื”ื ื™ืกื™ื•ื ื™ ื”ื•ืกืจ ืžื”ืฉื™ื—ื•ืช sv_utf8_downgrade ื•-sv_utf8_decode, ื‘ืฉื™ืžื•ืฉ ื‘ืคื™ืชื•ื— ื”ืจื—ื‘ื•ืช ื‘ืฉืคืช C;
  • ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื‘ื ื•ืช perl ืขื ื”ื˜ืžืขืช ืคืขื•ืœื•ืช ืขื ืœื•ืงืืœ ื”ืชื•ืžืš ื‘ืคืขื•ืœื” ืžืจื•ื‘ื” ื”ืœื™ื›ื™ (-Accflags='-DUSE_THREAD_SAFE_LOCALE'). ื‘ืขื‘ืจ, ื™ื™ืฉื•ื ื›ื–ื” ืฉื™ืžืฉ ืจืง ื‘ืขืช ื‘ื ื™ื™ืช ื’ืจืกื” ืžืจื•ื‘ื” ื”ืœื™ื›ื™ ืคืจืœ, ืืš ื›ืขืช ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืื•ืชื• ืขื‘ื•ืจ ื›ืœ ื‘ื ื™ื™ื”;
  • ืฉื™ืœื•ื‘ ืฉืœ ื”ื“ื’ืœื™ื "-Dv" (ืคืœื˜ ืื™ืชื•ืจ ื‘ืื’ื™ื ืžืฉื•ืคืจ) ื•-"-Dr" (ื ื™ืคื•ื™ ื‘ืื’ื™ื ืจื’ื™ืœ) ื’ื•ืจื ื›ืขืช ืœื”ืคืขืœืช ื›ืœ ืžืฆื‘ื™ ื ื™ืคื•ื™ ื‘ืื’ื™ื ืฉืœ ื‘ื™ื˜ื•ื™ ืจื’ื•ืœืจื™;
  • ืชื›ื•ื ื•ืช ืฉื”ื•ืฆืื• ืžืฉื™ืžื•ืฉ ื‘ืขื‘ืจ ื”ื•ืกืจื•:
    • ื–ืžื™ืŸ ื›ืขืช ื›ืžืคืจื™ื“ ืฉื•ืจื•ืช ื•ืชื•ื•ื™ื ื›ืœืœื™ื™ื ืžื•ึผืชึธืจ ืœื”ืฉืชืžืฉ ืจืง ื’ืจืคืžื™ื (ืœื ืžื•ืชืจื™ื ืชื•ื•ื™ Unicode ืžืจื•ื›ื‘ื™ื).
    • ื”ื•ืคืกืง ืชืžื™ื›ื” ื‘ื›ืžื” ืฆื•ืจื•ืช ืžื™ื•ืฉื ื•ืช ืฉืœ ืฉื™ืžื•ืฉ ื‘ืชื• "{" ื‘ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ืžื‘ืœื™ ืœื‘ืจื•ื— ืžืžื ื•.
    • ืืกื•ืจ ื‘ืืžืฆืขื•ืช ื”ืคื•ื ืงืฆื™ื•ืช sysread(), syswrite(), recv() ื•- send() ืขื ื”ืžื˜ืคืœื™ื ":utf8".
    • ื—ืœ ืื™ืกื•ืจ ืœื”ืฉืชืžืฉ ื‘ื”ื’ื“ืจื•ืช ืฉืœ "ืฉืœื™" ื‘ื”ืฆื”ืจื•ืช ืžื•ืชื ื•ืช ืฉื’ื•ื™ื•ืช ืžื˜ื‘ืขืŸ (ืœื“ื•ื’ืžื”, "my $x if 0").
    • ื”ืชืžื™ื›ื” ื‘ืžืฉืชื ื™ื ืžื™ื•ื—ื“ื™ื "$*" ื•-"$#" ื”ื•ืกืจื”.
      ื”ืชืžื™ื›ื” ื‘ืงืจื™ืื” ืžืจื•ืžื–ืช ืฉืœ ื”ืคื•ื ืงืฆื™ื” dump() ื”ื•ืคืกืงื” (ื›ืขืช ืขืœื™ืš ืœืฆื™ื™ืŸ ื‘ืžืคื•ืจืฉ CORE::dump()).

    • ื”ืคื•ื ืงืฆื™ื” File::Glob::glob ื”ื•ืกืจื” (ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘-File::Glob::bsd_glob).
    • ื ื•ืกืคื” ื”ื’ื ื” ืœ-pack() ืžืคื ื™ ื”ื—ื–ืจืช ืจืฆืคื™ Unicode ืฉื’ื•ื™ื™ื.
    • ืกื™ื•ื ื”ืชืžื™ื›ื” ื‘ืฉื™ืžื•ืฉ ื‘ืคืงื•ื“ื•ืช ืžืืงืจื• ื”ืžื‘ืฆืขื•ืช ืคืขื•ืœื•ืช ืขื UTF-8 ื‘ืงื•ื“ XS (ื‘ืœื•ืงื™ C) ื ื“ื—ื” ืœืฉื—ืจื•ืจ ื”ื‘ื.
  • ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืฉืœ ื‘ื™ืฆื•ืขื™ื:
    • ืคืขื•ืœื•ืช ื”ืชืจื’ื•ื ืž-UTF-8 ืœืคืจื™ืกืช ื”ืชื•ื•ื™ื ื”ื•ืืฆื• (ื ืงื•ื“ืช ืงื•ื“), ืœื“ื•ื’ืžื”, ื‘ื™ืฆื•ืข ืคืขื•ืœืช ord(โ€œ\x7fffโ€) ื“ื•ืจืฉ ื›ืขืช 12% ืคื—ื•ืช ื”ื•ืจืื•ืช. ื‘ื™ืฆื•ืขื™ ื”ืคืขื•ืœื•ืช ื”ื‘ื•ื“ืงื•ืช ืืช ื ื›ื•ื ื•ืช ืจืฆืคื™ ื”ืชื•ื•ื™ื UTF-8 ื”ื•ื’ื“ืœื• ืืฃ ื”ื;
    • ืงืจื™ืื•ืช ืจืงื•ืจืกื™ื‘ื™ื•ืช ื‘ืคื•ื ืงืฆื™ื” finalize_op() ื‘ื•ื˜ืœื•;
    • ื‘ื™ืฆืข ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืงืœื•ืช ืœืงื•ื“ ืขื‘ื•ืจ ื›ื™ื•ื•ืฅ ืชื•ื•ื™ื ื–ื”ื™ื ื•ื”ื’ื“ืจืช ืžื—ืœืงื•ืช ืชื•ื•ื™ื ื‘ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื;
    • ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ื”ืžืจืช ื”ื’ื“ืจื•ืช ืกื•ื’ ื—ืชื•ื ืœื”ื’ื“ืจื•ืช ืœื ื—ืชื•ืžื•ืช (IV ืœ-UV);
    • ื”ืืœื’ื•ืจื™ืชื ืœื”ืžืจืช ืžืกืคืจื™ื ืฉืœืžื™ื ืœืžื—ืจื•ื–ืช ื”ื•ืืฅ ืขืœ ื™ื“ื™ ืขื™ื‘ื•ื“ ืฉืชื™ ืกืคืจื•ืช ื‘ื‘ืช ืื—ืช ื‘ืžืงื•ื ืื—ืช;
    • ื ืขืฉื• ืฉื™ืคื•ืจื™ื ืžื•ึผื›ึธืŸ ืžื‘ื•ืกืก ืขืœ ื ื™ืชื•ื— ืฉืœ LGTM;
    • ืงื•ื“ ืื•ืคื˜ื™ืžืœื™ ื‘ืงื‘ืฆื™ื regcomp.c, regcomp.h ื•-regexec.c;
    • ื‘ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื, ื”ืขื™ื‘ื•ื“ ืฉืœ ืชื‘ื ื™ื•ืช ื›ืžื• "qr/[^a]/" ืขื ืชื•ื•ื™ ASCII ื”ื•ืืฅ ืžืฉืžืขื•ืชื™ืช.
  • ื”ืชืžื™ื›ื” ื‘ืคืœื˜ืคื•ืจืžืช Minix3 ืฉื•ื—ื–ืจื”. ืืคืฉืจ ืœื‘ื ื•ืช ื‘ืืžืฆืขื•ืช ืžื”ื“ืจ Microsoft Visual Studio 2019 (Visual C++ 14.2);
  • ื’ืจืกืื•ืช ืžืขื•ื“ื›ื ื•ืช ืฉืœ ืžื•ื“ื•ืœื™ื ื”ื›ืœื•ืœื™ื ื‘ื—ื‘ื™ืœื” ื”ื‘ืกื™ืกื™ืช. ืžื•ื“ื•ืœื™ื ื”ื•ืกืจื• ืžื”ื”ืจื›ื‘ ื”ืจืืฉื™ B:: ื ื™ืคื•ื™ ื‘ืื’ื™ื ะธ Locale::ืงื•ื“ื™ื.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”