سؤال لماذا لا يستخدم Perl أحدث إصدار بشكل افتراضي؟


عندما أحاول استخدام ميزات perl جديدة (مثل "say" بدلاً من "print") يفشل الرمز حتى أضع في السطر "use 5.014؛" ثم كل شيء يعمل.

النسخة المثبتة من perl هي 5.14.2 ، ويبدو أن البرنامج الثنائي الوحيد الذي قمت بتثبيته ، لماذا لا يتم استخدام الميزات الجديدة بشكل افتراضي؟

شكر!


4
2018-01-17 23:11


الأصل




الأجوبة:


لم يتم تمكين الميزات الجديدة في Perl ، بشكل افتراضي ، لأسباب التوافق مع الإصدارات السابقة.

من عند perdoc.perl.org:

يكون هذا مفيدًا غالبًا إذا كنت بحاجة إلى التحقق من إصدار Perl الحالي قبل استخدام وحدات المكتبة التي لن تعمل مع الإصدارات القديمة من Perl. (نحن لا نحاول القيام بهذا أكثر مما يجب علينا.)

أيضًا ، إذا كان إصدار Perl المحدد أكبر من أو يساوي 5.9.5 ، فسيستخدم VERSION أيضًا تحميل pragma الميزة وتمكين جميع الميزات المتوفرة في الإصدار المطلوب. نرى خاصية.

وبالمثل ، إذا كان إصدار Perl المحدد أكبر من أو يساوي 5.11.0 ، يتم تمكين القيود بطريقة صحيحة كما هو الحال مع الاستخدام الصارم (باستثناء أن الملف strict.pm لا يتم تحميله فعليًا).

لم يتم بعد الموافقة على إصدار أحدث من Perl / 12.04 أو 12.10 أو حتى 13.10. انظر صفحة أوبونتو الرئيسية لبيرل هنا. ومع ذلك ، يبدو أن هناك بعض النشاط مع المضي قدما في العمل مع بيرل 5.17.

يمكنك تثبيت من المصدر ، لكنني لا أوصي عبر ركوب نظام بيرل التثبيت. بدلاً من ذلك ، أوصي بتثبيت إصدار باستخدام sandboxed PerlBrew.


4
2018-01-21 01:17