الليلة الماضية في مؤتمر Perl و Raku في السحابة ، أعلن سوير إكس تغيير النسخة الرئيسية من Perl من 5 إلى 7. العمل جار بالفعل ، النسخة الجديدة ستصدر في غضون عام. لا ينبغي أن تتوقع الكثير من التغييرات ، باختصار: لا تزال Perl 7 هي نفس Perl 5.32 مع الإعدادات الافتراضية الحديثة. لم تعد بحاجة إلى تضمين الميزات التي تستخدمها بالفعل بشكل صريح ، وسيتم تمكينها لك!
ما الذي سيتم تضمينه؟
لا توجد قائمة كاملة حتى الآن ، لكنها صارمة وتحذيرات بالتأكيد! في الإصدار السابع ، من المرجح أن تظل التوقيعات تجريبية ، ولن يكون لديهم الوقت لتمكين utf7 أيضًا.
ما سيتم تعطيله؟
- استدعاء الطريقة غير المباشرة:
{;
حزمة فو؛{مباركة {}} فرعية جديدة
الشريط الفرعي {print "Hello from bar ()! n" x pop}
}# مكالمة عادية
my $ foo = Foo-> new () ؛
# مكالمة غير مباشرة
شريط $ foo 42 ؛ - الكلمات الفارغة (الكلمات الشريطية) كمعرفات واصفات (باستثناء الكلمات القياسية (STDIN ، STDOUT ، STDERR))
- تجزئات زائفة متعددة الأبعاد بأسلوب Perl 4.
# أمثلة مأخوذة من بيرلدوك بيرلفار
$فو{$x,$y,$z}
# في الواقع تعني $ foo {Join ($ ؛، $ x، $ y، $ z)} - نماذج أولية قديمة بأسلوب Perl 4. الآن ما عليك سوى أن تكتب مثل هذا:
sub foo: النموذج الأولي ($$) ($ left، $ right) {
إرجاع $left + $right؛
}أولاً ، نموذج أولي يؤثر على تجميع المكالمات ، ثم التوقيعات التي تضع الوسيطات في المتغيرات المناسبة في وقت التشغيل.
ومع ذلك ، ستظل هناك فرصة لإعادة كل شيء مرة أخرى بكميات كبيرة:
استخدام المتوافق :: 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