ืคืจืœ 7 ื”ื•ื“ื™ืขื”

ื‘ื›ื ืก ื”ื•ื™ืจื˜ื•ืืœื™ ืฉืœ ืžืคืชื—ื™ ืฉืคื•ืช Perl ืฉืœ ื”ื™ื•ื ื”ื•ื›ืจื– ืคืจื•ื™ืงื˜ Perl 7 ืฉื™ืžืฉื™ืš ื‘ืฆื•ืจื” ื—ืœืงื” ืืช ื”ืคื™ืชื•ื— ืฉืœ ืกื ื™ืฃ Perl 5 ืžื‘ืœื™ ืœื‘ืฆืข ืฉื™ื ื•ื™ื™ื ืงื™ืฆื•ื ื™ื™ื. Perl 7 ื™ื”ื™ื” ืžื”ื“ื•ืจื” ื“ื•ืžื” ืคืจืœ 5.32.0, ืœืžืขื˜ ื”ื’ื“ืจื•ืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืื—ืจื•ืช ืฉืชื•ืืžื•ืช ื™ื•ืชืจ ืืช ื ื•ื”ืœื™ ื”ืคื™ืชื•ื— ื”ืžื•ื“ืจื ื™ื™ื. ืื—ืจืช, Perl 7 ื™ื™ืฉืืจ ื–ื”ื” ืœ-Perl 5 ื•ื™ื™ืฉืืจ ืชื•ืื ืœื™ื™ืฉื•ืžื™ื ืฉืคื•ืชื—ื• ื‘ืขื‘ืจ.

ืฉื™ื ื•ื™ ืžืฉืžืขื•ืชื™ ื‘ืžืกืคืจ ื”ื’ืจืกื” ื™ืฉืžืฉ ืžืขื™ืŸ ืžืคืจื™ื“ ืœืžืขื‘ืจ ืœืžื•ื“ืœ ื—ื“ืฉ ืœื”ื’ื‘ืจืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืฉืคืช Perl ืœืœื ื”ืคืจื” ื ื™ื›ืจืช ืฉืœ ืชืื™ืžื•ืช ืœืื—ื•ืจ.
ื”ืฉื—ืจื•ืจ ืฉืœ Perl 7 ืฆืคื•ื™ ืœืขื–ื•ืจ ืœืžืฉื•ืš ืžืคืชื—ื™ื ื—ื“ืฉื™ื ืœืคืจืœ ื•ืœืขื–ื•ืจ ืœื™ื™ืขืœ ืืช ื”ืชื”ืœื™ืš ืฉืœ ื”ื•ืกืคืช ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ืžืฉืžืขื•ืชื™ื•ืช ืœืฉืคื” ืชื•ืš ืฉืžื™ืจื” ืขืœ ืชืื™ืžื•ืช ืœื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ ืคืจื•ื™ืงื˜ื™ื ืงื™ื™ืžื™ื. ืžืกืคืจ 7 ื ื‘ื—ืจ ืžื›ื™ื•ื•ืŸ ืฉ-Perl 6 ืฉื™ืžืฉ ืœืคื™ืชื•ื— ื”ืฉืคื” ื”ืงื™ื™ืžืช ื›ื™ื•ื ืžืชืคืชื— ืชื—ืช ื”ืฉื ื”ื ืคืจื“ Raku. ื”ืžื”ื“ื•ืจื” ื”ืจืืฉื•ื ื” ืฉืœ Perl 7 ืฆืคื•ื™ื” ื‘ืฉื ื” ื”ื‘ืื”. ืกื ื™ืฃ Perl 5.32 ื™ื”ื™ื” ื”ืื—ืจื•ืŸ ื‘ืกื“ืจืช Perl 5 ื•ืžืชื•ื›ื ืŸ ืœื”ื™ืชืžืš ืœืžืฉืš 5 ืขื“ 10 ืฉื ื™ื.

ื”ืฉื™ื ื•ื™ ื”ื‘ื•ืœื˜ ื‘ื™ื•ืชืจ ื‘ืคืจืœ 7 ื”ื•ื ื”ื›ืœืœืช "ืงึทืคึผึฐื“ึธื ึดื™", ืžื” ืฉืžืจืžื– ืขืœ ื‘ื“ื™ืงื” ืงืคื“ื ื™ืช ืฉืœ ื”ืฆื”ืจื•ืช ืžืฉืชื ื•ืช, ืฉื™ืžื•ืฉ ื‘ืžืฆื‘ื™ืขื™ื ืกืžืœื™ื™ื ื•ื”ืงืฆืื•ืช ืชืช ืฉื’ืจืชื™ื•ืช. ืฉื™ืžื•ืฉ ื‘"ืฉื™ืžื•ืฉ ืงืคื“ื ื™" ื”ื•ื ืฆื•ืจื” ื˜ื•ื‘ื” ื•ืžืฉืžืฉ ืืช ืจื•ื‘ ื”ืžืคืชื—ื™ื. ื‘ืื•ืคืŸ ื“ื•ืžื”, ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื”ื ืžืชื›ื ื ื™ื ืœืืคืฉืจ ืขื™ื‘ื•ื“ ืื–ื”ืจื” ("ืœื”ืฉืชืžืฉ ื‘ืื–ื”ืจื•ืช").

Perl 7 ืžืงื•ื•ื” ื’ื ืœื™ื™ืฆื‘ ื•ืœืืคืฉืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื›ืžื” ืชื›ื•ื ื•ืช ื ื™ืกื™ื•ื ื™ื•ืช ืฉื›ื‘ืจ ืงื™ื™ืžื•ืช, ื›ื’ื•ืŸ ื—ืชื™ืžื•ืช ืคื•ื ืงืฆื™ื•ืช ("ื”ืฉืชืžืฉ ื‘ืชื›ื•ื ื” 'ื—ืชื™ืžื•ืช'"), ื”ืžืืคืฉืจื•ืช, ื‘ืขืช ื”ื’ื“ืจืช ืคื•ื ืงืฆื™ื”, ืœืงื‘ื•ืข ืืช ื”ืืจื’ื•ืžื ื˜ื™ื ื”ื ื›ื ืกื™ื ื•ืœื‘ืฆืข ืื•ื˜ื•ืžื˜ื™ืช ื‘ื“ื™ืงืช ืžืกืคืจื (ื ื™ืชืŸ ืœื›ืชื•ื‘ "sub foo ($left, $right) {" ื‘ืžืงื•ื "sub foo { my($left, $right) ) = @_;"). ื”ื ืžืชื›ื ื ื™ื ืœื›ืœื•ืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืชืžื™ื›ื” ื‘ืื•ืคืจื˜ื•ืจ "isa" ืœื‘ื“ื™ืงื” ืื ืื•ื‘ื™ื™ืงื˜ ื”ื•ื ืžื•ืคืข ืฉืœ ืžื—ืœืงื” ืฉืฆื•ื™ื ื” ืื• ืžื—ืœืงื” ืฉื ื’ื–ืจืช ืžืžื ื” ("if( $obj isa Package::Name)", ื›ืžื• ื’ื ื ื™ืชื•ืง ืœืื—ืจ ืชื™ืงื•ืŸ ืคืขื•ืœื•ืช (postderef) "$ sref->$*" ื‘ืžืงื•ื "${ $sref }", "$aref->@*" ื‘ืžืงื•ื "@{ $aref }" ื•-"$href->%{ ... }" ื‘ืžืงื•ื "%$href{ ... } "

ื”ืžืชืžื•ื“ื“ื™ื ืขืœ ื”ืฉื‘ืชื” ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื‘-Perl 7 ื”ื:

  • ืกื™ืžื•ืŸ ืงืจื™ืืช ืื•ื‘ื™ื™ืงื˜ ืขืงื™ืฃ ("ืื™ืŸ ืชื›ื•ื ื” qw (ืขืงื™ืฃ)") ื”ื™ื ื“ืจืš ืžื“ื•ืจ ืงื•ื“ื ืœืงืจื•ื ืœืื•ื‘ื™ื™ืงื˜ื™ื, ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืจื•ื•ื— ื‘ืžืงื•ื "->" ("ืฉื™ื˜ื” $object @param" ื‘ืžืงื•ื "$object->$method(@param)"). ืœื“ื•ื’ืžื”, ื‘ืžืงื•ื "my $cgi = new CGI" ืชืžื™ื“ ืชืฉืชืžืฉ ื‘-"my $cgi = CGI->new".
  • ืžืชืืจื™ ืงื‘ืฆื™ื ื—ืฉื•ืคื™ื ืœืœื ื”ืฆื”ืจื•ืช ืžืฉืชื ื•ืช ("ืœืœื ืžื™ืœื” ื—ืฉื•ืคื”::filehandle") - ืฉื™ืžื•ืฉ ื‘ืงื•ื ืกื˜ืจื•ืงืฆื™ื•ืช ื›ืžื• "ืคืชื•ื— FH, $file" ื™ื•ื‘ื™ืœ ืœืฉื’ื™ืื”, ืืชื” ืฆืจื™ืš ืœื”ืฉืชืžืฉ ื‘-"ืคืชื— ืืช $fh ืฉืœื™, $file". ื”ืฉื™ื ื•ื™ ืœื ื™ืฉืคื™ืข ืขืœ ืžืชืืจื™ ื”ืงื‘ืฆื™ื ื”ืกื˜ื ื“ืจื˜ื™ื™ื STDIN, STDOUT, STDERR, ARGV, ARGVOUT ื•-DATA.
  • ืžืขืจื›ื™ื ื•ื’ื™ื‘ื•ื‘ื™ื ืจื‘-ืžืžื“ื™ื™ื ื‘ืกื’ื ื•ืŸ ืคืจืœ 4 ("ืœื ืจื‘ ืžื™ืžื“ื™").
    ืœื“ื•ื’ืžื”, ืฆื™ื•ืŸ "$hash{1, 2}" ื™ื•ื‘ื™ืœ ืœืฉื’ื™ืื”; ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘ืžืขืจืš ื‘ื™ื ื™ื™ื, ืœื“ื•ื’ืžื” "$hash{join($;, 1, 2)}".

  • ื”ื›ืจื–ื” ืขืœ ืื‘ื•ืช ื˜ื™ืคื•ืก ื‘ืกื’ื ื•ืŸ Perl 4 (ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘-"use :prototype()").

ื‘ืชื•ื›ื ื™ื•ืช ืจื—ื•ืงื•ืช ื™ื•ืชืจ, ื”ื ืžืฆืคื™ื ืœืืคืฉืจ ืชืžื™ื›ืช Unicode ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืžื” ืฉื™ื—ืกื•ืš ืœืžืคืชื—ื™ื ืœืฆื™ื™ืŸ "ื”ืฉืชืžืฉ ื‘-utf8" ื‘ืงื•ื“. ืขื‘ื•ืจ ืžื•ื“ื•ืœื™ื ื•ืกืงืจื™ืคื˜ื™ื ืฉื™ืฉ ืœื”ื ื‘ืขื™ื•ืช ืขื ื”ื’ื“ืจื•ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ื—ื“ืฉื•ืช, ืืคืฉืจ ืœื—ื–ื•ืจ ืœื”ืชื ื”ื’ื•ืช Perl 5 ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ื”ืฉื•ืจื” "use compat::perl5" ืœืงื•ื“. ื’ื ื”ื’ื“ืจื•ืช ื‘ื•ื“ื“ื•ืช ื™ื™ืฉืžืจื• ื•ื ื™ืชืŸ ืœืฉื ื•ืช ืื•ืชืŸ ื‘ื ืคืจื“.

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

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