ΠΡΠ΅ΡΠ° Π²Π΅ΡΠ΅ΡΠΎΠΌ Π½Π° «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) {
return $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