ะ’ั‡ะตั€ะฐ ะฒะตั‡ะตั€ะพะผ ะฝะฐ ยซPerl and Raku Conference in the Cloudยป, Sawyer X ะฐะฝะพะฝัะธั€ะพะฒะฐะป ัะผะตะฝัƒ ะพัะฝะพะฒะฝะพะน ะฒะตั€ัะธะธ Perl ั 5 ะฝะฐ 7. ะ ะฐะฑะพั‚ั‹ ัƒะถะต ะฒะตะดัƒั‚ัั, ะฝะพะฒะฐั ะฒะตั€ัะธั ะฒั‹ะนะดะตั‚ ะฒ ั‚ะตั‡ะตะฝะธะต ะณะพะดะฐ. ะ‘ะพะปัŒัˆะพะณะพ ะบะพะปะธั‡ะตัั‚ะฒะฐ ะธะทะผะตะฝะตะฝะธะน ะถะดะฐั‚ัŒ ะฝะต ัั‚ะพะธั‚, ะตัะปะธ ะบะพั€ะพั‚ะบะพ: Perl 7 ัั‚ะพ ะฒัั‘ ั‚ะพั‚ ะถะต Perl 5.32 ั ัะพะฒั€ะตะผะตะฝะฝั‹ะผะธ ะฝะฐัั‚ั€ะพะนะบะฐะผะธ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ. ะ’ะฐะผ ะฑะพะปัŒัˆะต ะฝะต ะฝะฐะดะพ ัะฒะฝะพ ะฟะพะดะบะปัŽั‡ะฐั‚ัŒ ะฒะพะทะผะพะถะฝะพัั‚ะธ ะบะพั‚ะพั€ั‹ะต ะฒั‹ ะธ ั‚ะฐะบ ะธัะฟะพะปัŒะทัƒะตั‚ะต, ะธั… ะฒะบะปัŽั‡ะฐั‚ ะดะปั ะฒะฐั!

ะงั‚ะพ ะฒะบะปัŽั‡ะฐั‚?

ะŸะพะปะฝะพะณะพ ัะฟะธัะบะฐ ะฟะพะบะฐ ะฝะตั‚, ะฝะพ strict ะธ warnigs ั‚ะพั‡ะฝะพ! ะ’ 7ะผ ั€ะตะปะธะทะต ัะธะณะฝะฐั‚ัƒั€ั‹ ัะบะพั€ะตะน ะฒัะตะณะพ ะพัั‚ะฐะฝัƒั‚ัั ัะบัะฟะตั€ะธะผะตะฝั‚ะฐะปัŒะฝั‹ะผะธ, utf8 ั‚ะพะถะต ะฒะบะปัŽั‡ะธั‚ัŒ ะฝะต ัƒัะฟะตัŽั‚.

ะงั‚ะพ ะฑัƒะดะตั‚ ะพั‚ะบะปัŽั‡ะตะฝะพ?

  • ะะตะฟั€ัะผะพะน ะฒั‹ะทะพะฒ ะผะตั‚ะพะดะพะฒ:

    {;
    package foo;

    sub new { bless {} }
    sub bar { print "Hello from bar()!n" x pop }
    }

    # ะะพั€ะผะฐะปัŒะฝั‹ะน ะฒั‹ะทะพะฒ
    my $foo = Foo->new();
    # ะะตะฟั€ัะผะพะน ะฒั‹ะทะพะฒ
    bar $foo 42;

  • ะŸัƒัั‚ั‹ะต ัะปะพะฒะฐ (barewords) ะบะฐะบ ะธะดะตะฝั‚ะธั„ะธะบะฐั‚ะพั€ั‹ ะดะตัะบั€ะธะฟั‚ะพั€ะพะฒ (ะทะฐ ะธัะบะปัŽั‡ะตะฝะธะตะผ ัั‚ะฐะฝะดะฐั€ั‚ะฝั‹ั… (STDIN, STDOUT, STDERR))
  • ะŸัะตะฒะดะพ ะผะฝะพะณะพะผะตั€ะฝั‹ะต ั…ััˆะธ ะฒ ัั‚ะธะปะต Perl 4.

    # ะฟั€ะธะผะตั€ั‹ ะฒะทัั‚ั‹ ะธะท perldoc perlvar
    $foo{$x,$y,$z}
    # ะฝะฐ ัะฐะผะพะผ ะดะตะปะต ะพะทะฝะฐั‡ะฐะตั‚ $foo{join($;, $x, $y, $z)}

  • ะกั‚ะฐั€ั‹ะต ะฟั€ะพั‚ะพั‚ะธะฟั‹ ะฒ ัั‚ะธะปะต Perl 4. ะขะตะฟะตั€ัŒ ะฝัƒะถะฝะพ ะฟะธัะฐั‚ัŒ ั‚ะพะปัŒะบะพ ั‚ะฐะบ:

    sub foo :prototype($$) ($left, $right) {
    เบเบฑเบšเบ„เบทเบ™ $เบŠเป‰เบฒเบ + $เบ‚เบงเบฒ;
    }

    ะกะฝะฐั‡ะฐะปะฐ ะฟั€ะพั‚ะพั‚ะธะฟ ะฒะปะธััŽั‰ะธะน ะฝะฐ ะบะพะผะฟะธะปัั†ะธัŽ ะฒั‹ะทะพะฒะพะฒ, ะฐ ะทะฐั‚ะตะผ ัะธะณะฝะฐั‚ัƒั€ั‹ ะฟะพะผะตั‰ะฐัŽั‰ะธะต ะฐั€ะณัƒะผะตะฝั‚ั‹ ะฒ ัะพะพั‚ะฒะตั‚ัั‚ะฒัƒัŽั‰ะธะต ะฟะตั€ะตะผะตะฝะฝั‹ะต ะฒะพ ะฒั€ะตะผั ะฒั‹ะฟะพะปะฝะตะฝะธั.

ะขะตะผ ะฝะต ะผะตะฝะตะต, ะพัั‚ะฐะฝะตั‚ัั ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะฒะตั€ะฝัƒั‚ัŒ ะฒัั‘ ะพะฑั€ะฐั‚ะฝะพ ะพะฟั‚ะพะผ:
use compat::perl5;
ะ˜ะปะธ ะฟะพ-ะพะดะฝะพะผัƒ.

Perl 5.32 ะฟะตั€ะตั…ะพะดะธั‚ ะฒ ั€ะตะถะธะผ ะดะพะปะณะพะน ะฟะพะดะดะตั€ะถะบะธ ะฝะฐ ัั€ะพะบ ะพั‚ 5 ะปะตั‚.

ะ ะฐะทะฒั‘ั€ะฝัƒั‚ั‹ะน ะฐะฝะพะฝั ะพั‚ ะ‘ั€ะฐะนะฐะฝะฐ ะ” ะคะพั: https://www.perl.com/article/announcing-perl-7/
TL;DR ะฒะตั€ัะธั ะพั‚ ะฝะตะณะพ ะถะต: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: linux.org.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™