Programlama Dili Perl 5.42 yeni liste operatörlerini tanıttı

Saberie

Active member
Paralel nesnelerin Corinna paralel sisteminin kademeli olarak piyasaya sürülmesi de Perl 5.42 yeni sürümünü sürdürüyor. Güvenlik için çok sayıda güvenlik hatasının temizlenmesine ek olarak, programlama dilinin güncellenmesi hem farklı uzantılar hem de yeni işlevler sağlar. Bu şekilde, Getter'e ayarlanan kendinden nesil ve kombine yöntemler artık mülk üzerinden olabilir :writer(...) . field-Varibiller ayarlandı. Perl 5.42 ayrıca, tam bir kapsül sunamamak için karşılaştırılabilir dillere kıyasla uzun vadeli dezavantajı ayarlar.



Nesne sistemi için yolda daha fazla adım


Deneysel özellik ile class Corinna nesne sistemine geçiş yaklaşık iki yıl önce başladı. Corinna'nın tam işlevselliği, Perl geliştirme ekibini feature class Birlikte. Resmi kurallara göre, son değişiklikten sadece en az iki yıl sonra düşebileceği için birkaç yıl boyunca statüde deneysel kalacaktır. Gibi yenilikler bile roles Ve gerekirse, bir hedef nesne sistemi planlanıyor, işlevsellik bunu yapacak class 2028'de mümkün olan en kısa sürede deneysel olarak sınıflandırılabilir.



Programlarıyla 5.42'nin altında olan geliştiriciler deneysel “sınıfı” kullanın; Başla, Mayıs field-Mülkiyet ile çok değişken :writer(...) Etiketleyin ve bu nedenle, aksi takdirde özel nesnenin özniteliğine halka erişimi sağlayan kendi kendini oluşturulmuş bir yöntemin adını belirleyin. Bu aynı zamanda, Getter'de temelli ve birleşik yöntemleri elde etmenin tek yoludur, çünkü erişim yönteminin adı genellikle ön ektendir set_ ve özniteliğin adı.

Ayrıca, method Bildirilen yöntemlerin artık, değişkenlere gelince – sözcüksel bir yerel erişim alanına da sahip my zoraki. Yöntem sınıf içinde erişilir $objekt->&methode(...)miras hiyerarşisini atlatma. Şimdilik tam bir kapsülü var ve karşılaştırılabilir dillere kıyasla yıllarca sahip olduğu önemli bir dezavantajı düzeltir.



Ayrıca, map VE grep. any Teslimat A trueBir liste değeri için kıvırcık parantezlere dahil edilen durum true Değerlendirildi – A all Hepsi işin adına göre olmalı. Her iki operatör de sonuç kesin olarak hesaplamayı kesintiye uğratır ve yine de bunu yapmak zorundadırlar use experimental 'keyword_any';VEYA use experimental 'keyword_all'; kaydedilebilir.



Aynı şey en eski özellikler için de geçerli switch VE smartmatchdiğer hatlara karşı çıkarılmaz. Tamlık nedeniyle, operatör XOR yüksek bir önceliğe sahip: =^^ Gönderildi ve ile use source::encoding 'utf8'; Geliştirme ekibinin açık bir takma adı vardır. use utf8; kurmak. no feature "apostrophe_as_package_separator"; Yalnızca bilinmeyen kodun eski paketin adının ayırıcısını kullanmamasını sağlamak için kullanılır.

Uzun vadeli uzun vadeli zayıflık çözüldü


Güvenlik alaka düzeyine sahip en önemli iki çözülmüş hata ilk kez CVE-2024-56406'da açıklanmaktadır. Buna göre, kodlanmış işaretlerin farklı baytlarla yenilenmesi taşma yatağına yol açabilir. İkincisi, CVE 2025-40909'a göre, bir ipliğin çatalı yapıldı. Zayıf noktalar dört veya on dört yıldır açıktı.

Perl 5.42'de tüm hatalar, belgelerdeki değişiklikler, hata mesajları ve diğer iç mekanlara tam bir bakış, Perldoc'ta görüntülenebilir.

Ayrıca bakınız:


(harita)




Ne yazık ki, bu bağlantı artık geçerli değil.

Boşa harcanan eşyalara olan bağlantılar, 7 günlük daha büyükse veya çok sık çağrılmışsa gerçekleşmez.


Bu makaleyi okumak için bir Haberler+ paketine ihtiyacınız var. Şimdi yükümlülük olmadan bir hafta deneyin – yükümlülük olmadan!
 
Üst