ืคืจืœ 7 ื”ื•ื›ืจื–

ืืžืฉ ื‘ื›ื ืก ืคืจืœ ื•ืจืืงื• ื‘ืขื ืŸ, ื”ื•ื“ื™ืข โ€‹โ€‹ืกื•ื™ื™ืจ X ืฉื™ื ื•ื™ ื”ื’ืจืกื” ื”ืจืืฉื™ืช ืฉืœ Perl ืž-5 ืœ-7. ื”ืขื‘ื•ื“ื” ื›ื‘ืจ ื‘ืขื™ืฆื•ืžื”, ื”ื’ืจืกื” ื”ื—ื“ืฉื” ืชืฉื•ื—ืจืจ ืชื•ืš ืฉื ื”. ืืชื” ืœื ืฆืจื™ืš ืœืฆืคื•ืช ืœื”ืจื‘ื” ืฉื™ื ื•ื™ื™ื, ื‘ืงื™ืฆื•ืจ: Perl 7 ื”ื•ื ืขื“ื™ื™ืŸ ืื•ืชื• Perl 5.32 ืขื ื”ื’ื“ืจื•ืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืžื•ื“ืจื ื™ื•ืช. ืื™ื ืš ืฆืจื™ืš ื™ื•ืชืจ ืœื”ืคืขื™ืœ ื‘ืžืคื•ืจืฉ ืชื›ื•ื ื•ืช ืฉืืชื” ื›ื‘ืจ ืžืฉืชืžืฉ ื‘ื”ืŸ, ื”ืŸ ื™ื•ืคืขืœื• ืขื‘ื•ืจืš!

ืžื” ื™ื™ื›ืœืœ?

ืื™ืŸ ืขื“ื™ื™ืŸ ืจืฉื™ืžื” ืžืœืื”, ืื‘ืœ ืงืคื“ื ื™ืช ื•ืžื–ื”ื™ืจื” ื‘ื•ื•ื“ืื•ืช! ื‘ืžื”ื“ื•ืจื” ื”ืฉื‘ื™ืขื™ืช, ื›ื›ืœ ื”ื ืจืื” ื”ื—ืชื™ืžื•ืช ื™ื™ืฉืืจื• ื ื™ืกื™ื•ื ื™ื•ืช; ืœ-utf7 ื’ื ืœื ื™ื”ื™ื” ื–ืžืŸ ืœื”ื™ื›ืœืœ.

ืžื” ื™ื•ืฉื‘ืช?

  • ืฉื™ื˜ื” ืขืงื™ืคื” ืงื•ืจืืช:

    {;
    ื—ื‘ื™ืœื” foo;

    ืžืฉื ื” ื—ื“ืฉ { ื‘ืจื•ืš {} }
    ืกืจื’ืœ ืžืฉื ื” { print "Hello from bar()!n" x pop }
    }

    # ืฉื™ื—ื” ืจื’ื™ืœื”
    my $foo = Foo->new();
    # ืฉื™ื—ื” ืขืงื™ืคื”
    bar $foo 42;

  • ืžื™ืœื™ื ืจื™ืงื•ืช (ืจืง ืžื™ืœื™ื) ื›ืžื–ื”ื™ ืชื™ืื•ืจ (ืคืจื˜ ืœืžื™ืœื™ื ืกื˜ื ื“ืจื˜ื™ื•ืช (STDIN, STDOUT, STDERR))
  • ื’ื™ื‘ื•ื‘ ืจื‘ ืžืžื“ื™ ืคืกืื•ื“ื• ื‘ืกื’ื ื•ืŸ Perl 4.

    # ื“ื•ื’ืžืื•ืช ืฉื ืœืงื—ื• ืž-perldoc perlvar
    $foo{$x,$y,$z}
    # ืคื™ืจื•ืฉื• ืœืžืขืฉื” $foo{join($;, $x, $y, $z)}

  • ืื‘ื•ืช ื˜ื™ืคื•ืก ื™ืฉื ื™ื ื‘ืกื’ื ื•ืŸ Perl 4. ืขื›ืฉื™ื• ืืชื” ืจืง ืฆืจื™ืš ืœื›ืชื•ื‘ ื›ืš:

    sub foo :prototype($$) ($left, $right) {
    ื”ื—ื–ืจ $left + $right;
    }

    ืชื—ื™ืœื” ืื‘ ื˜ื™ืคื•ืก ืฉืžืฉืคื™ืข ืขืœ ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ืงืจื™ืื•ืช, ื•ืœืื—ืจ ืžื›ืŸ ื—ืชื™ืžื•ืช ืฉืžืžืงืžื•ืช ืืช ื”ืืจื’ื•ืžื ื˜ื™ื ื‘ืžืฉืชื ื™ื ื”ืžืชืื™ืžื™ื ื‘ื–ืžืŸ ื”ืจื™ืฆื”.

ืขื ื–ืืช, ืขื“ื™ื™ืŸ ืชื”ื™ื” ื”ื–ื“ืžื ื•ืช ืœื”ื—ื–ื™ืจ ื”ื›ืœ ื‘ื›ืžื•ื™ื•ืช ื’ื“ื•ืœื•ืช:
ื”ืฉืชืžืฉ ื‘-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

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