هذا هو الأمر perl589delta الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
perl589delta - ما الجديد في Perl v5.8.9
الوصف
يصف هذا المستند الاختلافات بين الإصدار 5.8.8 والإصدار 5.8.9.
إشعار
سيكون الإصدار 5.8.9 هو الإصدار الأخير المهم من سلسلة 5.8.x. أي مستقبل
من المرجح أن تكون إصدارات 5.8.x مخصصة فقط للتعامل مع المشكلات الأمنية وبناء النظام الأساسي
الفشل. ومن ثم، يجب أن تفكر في الانتقال إلى الإصدار 5.10.x، إذا لم تكن قد بدأت بالفعل.
راجع "المشكلات المعروفة" لمزيد من المعلومات.
غير متوافق التغييرات
قد تحتاج إلى بناء معين في الكود المصدري للامتدادات المكتوبة بلغة C++
تغيير. راجع "التغييرات الداخلية" لمزيد من التفاصيل. جميع الملحقات المكتوبة بلغة C، معظمها
مكتوبة بلغة C++، وجميع الامتدادات المترجمة الموجودة لم تتأثر. وكان هذا ضروريا
تحسين دعم C++.
بخلاف هذا، لا توجد تغييرات تتعارض عمدًا مع الإصدار 5.8.8. لو اي
موجودة، فهي أخطاء والتقارير هي موضع ترحيب.
جوهر التحسينات
يونيكود حرف قاعدة البيانات 5.1.0.
تم تحديث نسخة قاعدة بيانات أحرف Unicode المضمنة في Perl 5.8 إلى 5.1.0
من 4.1.0. يرىhttp://www.unicode.org/versions/Unicode5.1.0/#NotableChanges> لـ
تغييرات ملحوظة.
القانون الأساسي و -X on دليل مقابض
أصبح من الممكن الآن استدعاء عوامل تشغيل ملفات "stat" و"-X" على مقابض الدليل. مثل
كل من مقابض الدليل والملفات عبارة عن كلمات مجردة، وقد يكون هناك غموض بشأنها
منوي. في هذه الحالات، يُفضل استخدام دلالات مقبض الملف. كلاهما يعالجان أيضًا
* FILE {IO} معالجات الملفات مثل * FILE filehandles.
مصدر مرشحات in INC
من الممكن تحسين آلية الروتين الفرعي فيINC عن طريق إضافة مصدر
يتم فتح الفلتر الموجود أعلى مقبض الملف الذي يتم فتحه وإعادته بواسطة الخطاف. تم التخطيط لهذه الميزة
منذ وقت طويل ، ولكن لم يكن يعمل بشكل جيد حتى الآن. انظر "تتطلب" في perlfunc ل
تفاصيل. (نيكولاس كلارك)
الاستثناءات in ثابت قابلة للطي
يتم الآن تغليف روتين الطي الثابت بمعالج استثناء ، وفي حالة رميات الطي
استثناء (مثل محاولة تقييم 0/0) ، تحتفظ perl الآن بالمختار الحالي ،
بدلاً من إجهاض البرنامج بأكمله. بدون هذا التغيير ، لن يتم تجميع البرامج
إذا كان لديهم تعبيرات حدثت لتولد استثناءات ، على الرغم من تلك
كانت التعبيرات في التعليمات البرمجية التي لا يمكن الوصول إليها في وقت التشغيل. (نيكولاس كلارك ، ديف
ميتشل)
"لا إصدار"
يمكنك الآن استخدام "no" متبوعًا برقم إصدار لتحديد أنك تريد استخدام ملف
نسخة بيرل أقدم من تلك المحددة.
تحسن داخلي UTF-8 التخزين المؤقت الكود
يحتوي الكود الذي يقوم بتخزين إزاحات بايت UTF-8 المحسوبة لإزاحات الأحرف لسلسلة
تم إعادة كتابتها. تم تحديد موقع العديد من الأخطاء وإزالتها، ويتم إنشاء الكود الآن
الاستخدام الأفضل للمعلومات الموجودة لديه، لذلك يجب أن يكون أسرع. وعلى وجه الخصوص، فإنه لا يقوم بالمسح الضوئي
إلى نهاية السلسلة قبل حساب الإزاحة داخل السلسلة، والتي يجب أن تسرع
حتى بعض العمليات على سلاسل طويلة. أصبح من الممكن الآن تعطيل رمز التخزين المؤقت أثناء التشغيل
الوقت، للتحقق من أنه ليس سبب المشاكل المشتبه فيها.
وقت التشغيل ريموكاتابل وإنشاء
هناك الآن ضبط دعم إنشاء شجرة Perl التي يمكن نقلها في وقت التشغيل.
راجع "المنشآت القابلة للنقل".
جديد داخلي المتغيرات
"$ {^ CHILD_ERROR_NATIVE}"
يعطي هذا المتغير الحالة الأصلية التي تم إرجاعها من خلال إغلاق الأنبوب الأخير ، backtick
أمر، استدعاء ناجح لـ "الانتظار" أو "waitpid"، أو من مشغل "النظام". يرى
بيرلفار للحصول على التفاصيل. (ساهم بها جيزل آس.)
"${^UTF8CACHE}"
يتحكم هذا المتغير في حالة رمز التخزين المؤقت الداخلي للإزاحة UTF-8. 1 ل على
(الافتراضي)، 0 للإيقاف، -1 لتصحيح كود التخزين المؤقت عن طريق التحقق من جميع نتائجه
ضد عمليات المسح الخطي، والذعر من أي تناقض.
"أنبوب القراءة" is زيوت ناو مبالغ فيه
أصبحت الوظيفة المضمنة "readpipe" قابلة للتجاوز الآن. تجاوزه يسمح أيضا ل
تجاوز نظيره المشغل، "qx//" (المعروف أيضًا باسم "``").
بسيط استثناء معالجة وحدات الماكرو
يوفر الإصدار 5.8.9 من Perl (والإصدار 5.10.0 وما بعده) الآن اثنين من وحدات الماكرو للقيام باستثناء أساسي للغاية
التعامل مع وحدات XS. يمكنك استخدام وحدات الماكرو هذه إذا قمت باستدعاء التعليمات البرمجية التي قد "تتقطع"، ولكن
تحتاج إلى إجراء بعض عمليات التنظيف قبل إعادة التحكم إلى Perl. راجع "معالجة الاستثناءات"
في بيرلجوتس لمزيد من التفاصيل.
-D خيار التحسينات
· "-Dq" يمنع جارٍ التنفيذ... رسالة عند التشغيل ضمن "-D"
· "-Dl" سجلات الدخول والخروج من حلقة runops، وقفز مستوى القفز.
· "-Dv" يعرض معرف العملية كجزء من إخراج التتبع.
XS بمساعدة سواشجيت
بعض أكواد Perl الخالصة التي كان يستخدمها محرك regexp لاسترداد خصائص Unicode و
تمت إعادة تنفيذ تعيينات الترجمة الصوتية في XS للتنفيذ بشكل أسرع. (ساداهيرو
تومويوكي)
ثابت الوظائف الفرعية
تدعم الأجزاء الداخلية للمترجم الآن شكلاً أكثر كفاءة في استخدام الذاكرة من المضمن
الثوابت. إن تخزين مرجع لقيمة ثابتة في جدول رموز يكافئ a
كتابة كاملة تشير إلى روتين فرعي ثابت ، ولكن باستخدام ذاكرة أقل بحوالي 400 بايت.
تتم ترقية هذا الروتين الفرعي الثابت للوكيل تلقائيًا إلى نوع حقيقي مع
روتين فرعي إذا لزم الأمر. النهج المتبع مماثل للمساحة الحالية
تحسين إعلانات الروتين الفرعي ، التي يتم تخزينها كسلسلة عادية في مكانها
من النوع الكامل.
ومع ذلك، للمساعدة في التوافق العكسي للتعليمات البرمجية الموجودة، والتي (بشكل خاطئ) لا تتوقعها
أي شيء آخر غير typeglobs في جداول الرموز، لا شيء في جوهره يستخدم هذه الميزة، وغيرها
من اختبارات الانحدار.
تم تخزين بذرة الروتينات الفرعية النموذجية في جداول الرموز كسلاسل عادية، و
كعب الروتين الفرعي غير النموذجي مثل الرقم -1، منذ 5.005، لذا فإن الكود الذي يفترض
أن النواة تضع typeglobs فقط في جداول الرموز، مما أدى إلى افتراضات غير صحيحة
لأكثر من سنوات 10.
جديد بلاتفورم
تمت إضافة الدعم التجميعي لـ:
· دراجون فلاي بي إس دي
· منتصف الليلBSD
· ميروس بي إس دي
· نظام التشغيل RISC
· كراي XT4/كاتاماونت
الأقسام و براغماتا
جديد الأقسام
· "Module :: Pluggable" عبارة عن إطار عمل بسيط لإنشاء وحدات تقبل العناصر الفرعية القابلة للتوصيل
وحدات. النسخة المجمعة هي 3.8
· "Module::CoreList" عبارة عن تجزئة من التجزئات التي تم مفتاحها في إصدار Perl كما هو موضح في
$]. النسخة المجمعة هي 2.17
· "Win32API::File" متوفر الآن في النظام الأساسي لنظام التشغيل Microsoft Windows. النسخة المجمعة هي
0.1001_01
· "Devel::InnerPackage" يعثر على كافة الحزم المحددة بواسطة ملف واحد. إنه جزء من
توزيع "الوحدة النمطية::قابل للتوصيل". النسخة المجمعة هي 0.3
تحديث الأقسام
· "السمات" تمت ترقيتها إلى الإصدار 0.09
· "AutoLoader" تمت ترقيته إلى الإصدار 5.67
· "AutoSplit" تمت ترقيته إلى 1.06
· "الاستخدام التلقائي" تمت ترقيته إلى الإصدار 1.06
· تمت ترقية "ب" من 1.09_01 إلى 1.19
· يوفر وحدات ماكرو تجريد جديدة ذات صلة باللوحة "B::NV::COP_SEQ_RANGE_LOW"،
"B::NV::COP_SEQ_RANGE_HIGH"، "B::NV::PARENT_PAD_INDEX"،
"B::NV::PARENT_FAKELEX_FLAGS"، الذي يخفي الفرق في التخزين في 5.10.0 و
في وقت لاحق.
· يوفر "B::sub_generation"، الذي يعرض "PL_sub_generation"
· يوفر "B::GV::isGV_with_GP"، والذي يعود دائمًا صحيحًا في Perls قبل 5.10.
· تمت إضافة نوع جديد "B::HE" باستخدام الأساليب "VAL" و"HASH" و"SVKEY_force"
· تم الآن تعيين العلامة "B::GVf_IMPORTED_CV" بشكل صحيح عند وجود وكيل ثابت
يتم استيراد الروتين الفرعي.
· إصلاح الخلل في التعامل مع "PMOP".
· "B::BM::PREVIOUS" يعود الآن "U32"، وليس "U16". "B::CV::START" و"B:CV::ROOT"
قم بإرجاع "NULL" الآن على XSUB، و"B::CV::XSUB" و"B::CV::XSUBANY" ترجع 0 على a
غير XSUB.
· تمت ترقية "B::C" إلى 1.05
· "ب::موجز" تمت ترقيته إلى 0.76
· الخيار الجديد "-src" يؤدي إلى عرض كل عبارة (بدءًا من
nextstate OP) يسبقه السطر الأول من الكود المصدري الذي يقوم بإنشائه.
· خيار جديد "-stash = "somepackage""، و"يتطلب" "somepackage"، ثم يعرض كل منهما
الوظيفة المحددة في مساحة الاسم الخاصة بها.
· الآن لديه توثيق لرموز التلميحات التفصيلية.
· "ب::تصحيح" تمت ترقيته إلى الإصدار 1.05
· "B::Deparse" تمت ترقيته إلى الإصدار 0.87
· deparse بشكل صحيح "طباعة readpipe $x, $y".
· يتعامل الآن مع "''-"()>، "::()"، "sub :: {}"، وما إلى ذلك. بشكل صحيح [RT #43010]. جميع الأخطاء
في تحليل هذه الأنواع من بناء الجملة تم إصلاحها الآن:
Perl -MO=Deparse -e '"my %h = "->()'
بيرل -MO=Deparse -e '::->()'
بيرل -MO=Deparse -e 'sub :: {}'
Perl -MO=Deparse -e 'package a; الفرعي أ::ب::ج {}'
Perl -MO=Deparse -e 'sub the::main::road {}'
· يفعل ليست deparse $^H{v_string}، والذي يتم تعيينه تلقائيًا بواسطة الأجزاء الداخلية.
· "B::Lint" تمت ترقيته إلى الإصدار 1.11
· "B::Terse" تمت ترقيته إلى الإصدار 1.05
· "القاعدة" تمت ترقيتها إلى الإصدار 2.13
· تحميل وحدة عبر base.pm سوف يخفي $SIG{__DIE__} الشامل في تلك الوحدة.
· دفع جميع الفئات مرة واحدة في @ISA
· "المعيار" ترقية إلى الإصدار 1.10
· "كبير" تمت ترقيته إلى 0.23
· تمت ترقية "bignum" إلى 0.23
· تمت ترقية "bigrat" إلى 0.23
· ترقية "blib" إلى 0.04
· "الكارب" تمت ترقيته إلى الإصدار 1.10
يُظهر رمز التتبع الخلفي للوسيطة الآن "undef" كـ "undef"، بدلاً من سلسلة "undef".
· "CGI" تمت ترقيته إلى الإصدار 3.42
· "الأسماء" تمت ترقيتها إلى 1.06
· "ثابت" تمت ترقيته إلى الإصدار 1.17
· ترقية "CPAN" إلى الإصدار 1.9301
· تمت ترقية "Cwd" إلى الإصدار 3.29 مع بعض التحسينات الخاصة بالمنصة (بما في ذلك
نظام مراقبة السفن).
· "Data::Dumper" تمت ترقيته إلى الإصدار 2.121_17
· إصلاح الوضع الحالي لمكرر التجزئة مع نسخة بيرل النقية [RT #40668]
· تحسينات الأداء، والتي ستكون أكثر وضوحاً على المنصات عندما تتكرر
تكون الاستدعاءات إلى "realloc()" الخاصة بـ C بطيئة، مثل Win32.
· "DB_File" تمت ترقيته إلى الإصدار 1.817
· ترقية "DB_Filter" إلى الإصدار 0.02
· تمت ترقية "Devel::DProf" إلى الإصدار 20080331.00
· "Devel::Peek" تمت ترقيته إلى الإصدار 1.04
· تمت ترقية "Devel::PPPort" إلى الإصدار 3.14
· "التشخيص" تمت ترقيته إلى الإصدار 1.16
· "الملخص" تمت ترقيته إلى الإصدار 1.15
· "الملخص::MD5" تمت ترقيته إلى الإصدار 2.37
· ترقية "DirHandle" إلى الإصدار 1.02
· الآن يقوم بترجمة $.، $@، $!، $^E، و$؟ قبل إغلاق مؤشر الدليل ل
قمع تسرب أي آثار جانبية للتحذيرات المتعلقة بإغلاقه بالفعل.
· ترقية "DynaLoader" إلى الإصدار 1.09
يمكن لـ "DynaLoader" الآن تحميل كائن قابل للتحميل ديناميكيًا من ملف ذي ملف غير افتراضي
امتداد الملف.
· "تشفير" ترقية إلى الإصدار 2.26
يتضمن "Encode::Alias" إصلاحًا لترميز "646" على Solaris (المعروف باسم ASCII).
· "الإنجليزية" تمت ترقيتها إلى الإصدار 1.03
· ترقية "Errno" إلى الإصدار 1.10
· ترقية "المصدر" إلى الإصدار 5.63
· "ExtUtils::Command" تمت ترقيته إلى الإصدار 1.15
· "ExtUtils::Constant" تمت ترقيته إلى الإصدار 0.21
· "ExtUtils::Embed" تمت ترقيته إلى الإصدار 1.28
· تمت ترقية "ExtUtils::Install" إلى الإصدار 1.50_01
· "ExtUtils::Installed" تمت ترقيته إلى الإصدار 1.43
· "ExtUtils::MakeMaker" تمت ترقيته إلى الإصدار 6.48
· تقديم الدعم لتكوين "INSTALLVENDORSCRIPT" و"INSTALLVENDORSCRIPT".
· "ExtUtils::Manifest" تمت ترقيته إلى الإصدار 1.55
· "ExtUtils::ParseXS" تمت ترقيته إلى الإصدار 2.19
· "قاتل" تمت ترقيته إلى الإصدار 1.06
· يسمح بجعل العناصر المضمنة في "CORE::GLOBAL" قاتلة.
· ترقية "Fcntl" إلى الإصدار 1.06
· "الحقول" تمت ترقيتها إلى الإصدار 2.12
· "الملف::Basename" تمت ترقيته إلى الإصدار 2.77
· "FileCache" تمت ترقيته إلى الإصدار 1.07
· "الملف::قارن" تمت ترقيته إلى 1.1005
· "ملف :: نسخة" تمت ترقيته إلى 2.13
· يستخدم الآن 3 وسيطة مفتوحة.
· "الملف::DosGlob" تمت ترقيته إلى 1.01
· "ملف::بحث" تمت ترقيته إلى الإصدار 1.13
· "ملف::Glob" تمت ترقيته إلى الإصدار 1.06
· إصلاح النتائج الزائفة بأقواس داخل الأقواس.
· "الملف :: المسار" تمت ترقيته إلى الإصدار 2.07_02
· "ملف::Spec" تمت ترقيته إلى الإصدار 3.29
· تحسين التعامل مع الحجج السيئة.
· بعض التحسينات الخاصة بالمنصة (بما في ذلك VMS وCygwin)، مع
التحسين على "abs2rel" عند التعامل مع كلتا الوسيطتين النسبيتين.
· "الملف::stat" تمت ترقيته إلى الإصدار 1.01
· "ملف::Temp" تمت ترقيته إلى الإصدار 0.20
· ترقية "filetest" إلى الإصدار 1.02
· "Filter::Util::Call" تمت ترقيته إلى الإصدار 1.07
· "الفلتر :: بسيط" تم ترقيته إلى الإصدار 0.83
· ترقية "FindBin" إلى الإصدار 1.49
· "GDBM_File" تمت ترقيته إلى الإصدار 1.09
· "Getopt::Long" تمت ترقيته إلى الإصدار 2.37
· "Getopt::Std" تمت ترقيته إلى الإصدار 1.06
· تمت ترقية "Hash::Util" إلى الإصدار 0.06
· "إذا" تمت ترقيته إلى الإصدار 0.05
· ترقية "IO" إلى الإصدار 1.23
تم تقليل عدد المكالمات إلى "getpeername" في "IO::Socket"
· "IPC::Open" تمت ترقيته إلى الإصدار 1.03
· "IPC::Open3" تمت ترقيته إلى الإصدار 1.03
· "IPC::SysV" تمت ترقيته إلى الإصدار 2.00
· "lib" تمت ترقيته إلى الإصدار 0.61
· تجنب التحذير من التحميل .زوج الملفات.
· ترقية "libnet" إلى الإصدار 1.22
· "القائمة::Util" تمت ترقيتها إلى 1.19
· "اللغة::Maketext" تمت ترقيتها إلى 1.13
· "الرياضيات::BigFloat" تمت ترقيتها إلى الإصدار 1.60
· "الرياضيات::BigInt" تمت ترقيتها إلى الإصدار 1.89
· "الرياضيات::BigRat" تمت ترقيتها إلى الإصدار 0.22
· تنفذ طريقة جديدة "as_float".
· "الرياضيات::مجمع" تمت ترقيته إلى الإصدار 1.54.
· "الرياضيات::Trig" تمت ترقيتها إلى الإصدار 1.18.
· تمت ترقية "NDBM_File" إلى الإصدار 1.07
· يحسن ز ++ التعامل مع الأنظمة التي تستخدم رؤوس التوافق مع GDBM.
· "Net::Ping" تمت ترقيته إلى الإصدار 2.35
· "التالي" تمت ترقيته إلى الإصدار 0.61
· إصلاح العديد من الأخطاء في "التالي" عند العمل مع "التحميل التلقائي"، وكتلة "التقييم"، و
ضمن التقييد الزائد.
· "ODBM_File" تمت ترقيته إلى 1.07
· "مفتوح" تمت ترقيته إلى 1.06
· "العمليات" تمت ترقيتها إلى 1.02
· "PerlIO::encoding" تمت ترقيته إلى الإصدار 0.11
· "PerlIO::scalar" تمت ترقيته إلى الإصدار 0.06
· [RT #40267] "PerlIO::scalar" لا يحترم خاصية القراءة فقط.
· "PerlIO::via" تمت ترقيته إلى الإصدار 0.05
· تمت ترقية "Pod::Html" إلى الإصدار 1.09
· "Pod::Parser" تمت ترقيته إلى الإصدار 1.35
· "Pod::Usage" تمت ترقيته إلى الإصدار 1.35
· ترقية "POSIX" إلى الإصدار 1.15
· يتم الآن استيراد ثوابت "POSIX" التي تكرر تلك الموجودة في "Fcntl" من "Fcntl"
وإعادة تصديرها بدلاً من تكرارها بواسطة "POSIX"
· "POSIX::remove" يمكنه إزالة الدلائل الفارغة.
· "POSIX::setlocale" أكثر أمانًا للاتصال عدة مرات.
· "POSIX::SigRt" تمت إضافته، والذي يتيح الوصول إلى وظيفة إشارة POSIX في الوقت الفعلي
على الأنظمة الداعمة له.
· "إعادة" ترقية إلى الإصدار 0.06_01
· ترقية "الآمنة" إلى الإصدار 2.16
· "Scalar::Util" تمت ترقيته إلى 1.19
· "SDBM_File" تمت ترقيته إلى الإصدار 1.06
· "SelfLoader" تمت ترقيته إلى الإصدار 1.17
· ترقية "شل" إلى الإصدار 0.72
· ترقية "sigtrap" إلى الإصدار 1.04
· "المقبس" ترقية إلى الإصدار 1.81
· يعمل هذا على إصلاح الاستخدام المتفائل لـ "gethostbyname"
· "قابل للتخزين" تمت ترقيته إلى 2.19
· ترقية "التبديل" إلى الإصدار 2.13
· "Sys::Syslog" تمت ترقيته إلى الإصدار 0.27
· "المصطلح::ANSIColor" تمت ترقيته إلى الإصدار 1.12
· "المصطلح::الحد الأقصى" تمت ترقيته إلى الإصدار 1.12
· "المصطلح::ReadLine" تمت ترقيته إلى الإصدار 1.03
· "اختبار::Builder" تمت ترقيته إلى الإصدار 0.80
· "اختبار::تسخير" نسخة مطورة إلى 2.64
· وهذا يجعله قادراً على التعامل مع الخطوط الجديدة.
· "اختبار::المزيد" تمت ترقيته إلى الإصدار 0.80
· "اختبار::بسيط" تمت ترقيته إلى الإصدار 0.80
· "النص::متوازن" تمت ترقيته إلى الإصدار 1.98
· "النص::ParseWords" تمت ترقيته إلى الإصدار 3.27
· "النص::Soundex" تمت ترقيته إلى الإصدار 3.03
· "النص::علامات التبويب" تمت ترقيته إلى الإصدار 2007.1117
· "النص::التفاف" تمت ترقيته إلى الإصدار 2006.1117
· "الموضوع" تمت ترقيته إلى الإصدار 2.01
· "الخيط::Semaphore" تمت ترقيته إلى الإصدار 2.09
· "الموضوع::قائمة الانتظار" تمت ترقيته إلى الإصدار 2.11
· القدرة المضافة لإضافة هياكل معقدة (على سبيل المثال، تجزئة التجزئة) إلى قوائم الانتظار.
· إضافة القدرة على dequeue عناصر متعددة في وقت واحد.
· تمت إضافة أساليب جديدة لفحص قوائم الانتظار ومعالجتها: "نظرة خاطفة" و"إدراج" و
"يستخرج"
· "Tie::Handle" تمت ترقيته إلى الإصدار 4.2
· "Tie::Hash" تمت ترقيته إلى الإصدار 1.03
· "Tie::Memoize" تمت ترقيته إلى الإصدار 1.1
· "Tie::Memoize::EXISTS" يقوم الآن بتخزين نتائجه بشكل صحيح.
· "Tie::RefHash" تمت ترقيته إلى الإصدار 1.38
· "Tie::Scalar" تمت ترقيته إلى الإصدار 1.01
· "Tie::StdHandle" تمت ترقيته إلى الإصدار 4.2
· "الوقت::gmtime" تمت ترقيته إلى الإصدار 1.03
· "الوقت::محلي" تمت ترقيته إلى الإصدار 1.1901
· تمت ترقية "Time::HiRes" إلى الإصدار 1.9715 مع تحسينات بناء مختلفة (بما في ذلك
VMS) وإصلاحات طفيفة للأخطاء الخاصة بالنظام الأساسي (بما في ذلك HP-UX 11 ia64).
· "المواضيع" تمت ترقيتها إلى 1.71
· طرق جديدة لمعلومات حالة الخيط: "is_running"، "is_detached"، و
"يمكن الانضمام إليه". تم تحسين طريقة "القائمة" لإرجاع المواضيع قيد التشغيل أو القابلة للانضمام.
· طريقة إشارة الخيط الجديدة: "القتل"
· القدرة المضافة لتحديد حجم كومة الصفحات.
· القدرة المضافة للتحكم في سلوك خروج الخيط. تمت إضافة طريقة "خروج" جديدة.
· "المواضيع :: المشتركة" تمت ترقيتها إلى الإصدار 1.27
· تنفيذ أصغر وأسرع يلغي بنية داخلية واحدة و
ما يترتب على ذلك من مستوى غير مباشر.
· يتم الآن تخزين أقفال المستخدم بطريقة أكثر أمانًا.
· وظيفة جديدة "shared_clone" تنشئ نسخة من الكائن مع ترك العناصر المشتركة
كما هي والعناصر غير المشتركة ذات الاستنساخ العميق.
· تمت إضافة طريقة جديدة "is_shared".
· "Unicode::Normalize" تمت ترقيته إلى الإصدار 1.02
· "Unicode::UCD" تمت ترقيته إلى الإصدار 0.25
· ترقية "التحذيرات" إلى الإصدار 1.05_01
· "Win32" تمت ترقيته إلى الإصدار 0.38
· تمت إضافة وظيفة جديدة "GetCurrentProcessId" والتي تقوم بإرجاع عملية Windows العادية
معرف العملية الحالية، حتى عند استدعائها من داخل الشوكة.
· ترقية "XSLoader" إلى الإصدار 0.10
· "XS::APItest" و"XS::Typemap" مخصصان للاستخدام الداخلي فقط وبالتالي لم يعدا كذلك
المثبتة. تمت إضافة العديد من الاختبارات إلى "XS::APItest".
مرافق التغييرات
المصحح ترقية إلى الإصدار 1.31
· ساهم أندرياس كونيج بوظيفتين لحفظ وتحميل سجل مصحح الأخطاء.
· "NEXT::AUTOLOAD" لم يعد يصدر تحذيرات تحت مصحح الأخطاء.
· يجب أن يقوم مصحح الأخطاء الآن بالعثور بشكل صحيح على الجهاز الموجود على OS X 10.5 وVMS عندما يتم العثور على الجهاز
برنامج "شوكة".
· الغواصات LVALUE تعمل الآن داخل المصحح.
شكرا
يضيف Perl 5.8.9 أداة مساعدة جديدة شكرا، وهو متغير من com.perlbugولكن للإرسال
تقارير غير الأخطاء إلى المؤلفين والمشرفين على Perl. الحصول على أي شيء سوى تقارير الأخطاء
يمكن أن يصبح محبطًا بعض الشيء - سنرى ما إذا كان هذا سيغير الأمور.
com.perlbug
com.perlbug يتحقق الآن مما إذا كنت تقوم بالإبلاغ عن وحدة غير أساسية ويقترح عليك الإبلاغ عنها
إلى مؤلف CPAN بدلاً من ذلك.
h2xs
· لن يتم تعريف سلسلة فارغة كثابت [RT #25366]
· لديه أمثلة لـ "h2xs -X"
h2ph
· يحاول الآن التعامل بشكل معقول مع الاختلاف في مضامين المسار بين "" و
"<>" اقتباس في عبارات "#include".
· يقوم الآن بإنشاء الكود الصحيح لـ "#if محددة A || محددة B" [RT #39130]
جديد توثيق
وكالعادة، نال التوثيق نصيبه من التصحيحات والإيضاحات وغيرها
nitfixes. تمت إضافة المزيد من العلامات "" للفهرسة.
perlunitut هو برنامج تعليمي كتبه Juerd Waalboer حول المصطلحات المتعلقة بـ Unicode وكيفية القيام بذلك
للتعامل بشكل صحيح مع Unicode في البرامج النصية لـ Perl.
يتم تحديث perlunicode في قسم الخصائص المحددة من قبل المستخدم.
تم تحديث perluniintro في مثال الكشف عن البيانات غير الصالحة في
ترميز خاص.
يوفر perlcommunity نظرة عامة على مجتمع Perl بالإضافة إلى المزيد من الموارد.
يقوم CORE بتوثيق مساحة الاسم الزائفة لإجراءات Perl الأساسية.
التغييرات إلى موجود توثيق
ويضيف معجم إهمال نماذج و ملامح و إلى be إسقاط نماذج.
تم تحديث Perlhack وإضافة موارد حول اختبار الدخان.
الأسئلة الشائعة حول بيرل (بيرلفاق 1..بيرلفاق 9) تم تحديثها.
يتم تحديث perlcheat بتفاصيل أفضل حول "\w" و"\d" و"\s".
يتم تحديث perldebug بمعلومات حول كيفية استدعاء مصحح الأخطاء.
تم تحديث وثائق Perldiag باستخدام روتين مع an العطف على الحجة ل
"موجود" و"حذف" وأيضًا تحديثات مصطلحات متعددة للتحذيرات.
يوثق Perlfork حدود "exec" داخل العمليات الزائفة.
بيرلفونك:
· تم إصلاح التوثيق في قسم "المتصل" و"البوب".
· تشير وظيفة "المنبه" الآن إلى "Time::HiRes::ualarm" بدلاً من "select".
· فيما يتعلق بالأسبقية في "-X"، فإن عوامل اختبار الملفات هي نفس عوامل التشغيل الأحادية، ولكن
لا فيما يتعلق بالتحليل والأقواس (رصدها إيريك بيرج هانسن).
· "العكس" وظيفة الوثائق الواردة أمثلة سياق العددية.
تم تعديل وثائق perllocale لتوطين الأرقام و"POSIX::setlocale" لإصلاحها
خطأ دبيان رقم 379463.
يتم تحديث perlmodlib بـ "CPAN::API::HOWTO" و"Sys::Syslog::win32::Win32"
تم تحديث وثائق Perlre لتعكس الاختلافات بين "[[::]]" و
يتطابق "\p{IsXxxxx}". تمت إضافة قسم أيضًا إلى معدّلات "/g" و"/c".
يصف perlreguts الأجزاء الداخلية لمحرك التعبيرات العادية. قد كان
ساهم بها إيف أورتن.
يصف perlrebackslash كل الخطوط المائلة العكسية للتعبير العادي وتسلسلات الهروب.
يصف perlrecharclass بناء الجملة واستخدام فئات الأحرف في Perl Regular
التعبيرات.
يتم تحديث perlrun لتوضيح بذور التجزئة بيرل_هاش_SEED. مزيد من المعلومات أيضا في
الخيارات "-x" و"-u".
تم تحديث مثال perlsub لاستخدام متغير معجمي لبناء جملة "opendir".
يقوم perlvar بإصلاح الالتباس حول GID $ الحقيقي (وGID $ الفعال).
تم إصلاح المثال التعليمي لموضوع Perl في قسم "قوائم الانتظار: تمرير البيانات" في
بيرلثرتوت و بيرلثرتوت.
تم تحسين توثيق Perlhack على نطاق واسع بواسطة جاركو هيتانيمي وآخرين.
يوفر perltoot معلومات حول تعديل @UNIVERSAL::ISA.
تم توسيع وثائق perlport لتشمل دلالات "kill(-9,...)" مختلفة
شبابيك. وينص أيضًا بوضوح على أن "تفريغ" غير مدعوم على Win32 وcygwin.
تثبيت تم تحديثه وتحديثه.
الأداء التحسينات
· كان الوضع الافتراضي منذ إصدار Perl 5.000 هو قيام Perl بإنشاء عدد قياسي فارغ مع every
typeglob جديد. إن الاستخدام المتزايد للمتغيرات المعجمية يعني أن معظمها غير مستخدم الآن.
بفضل جهود نيكولاس كلارك، أصبح من الممكن الآن تجميع لغة Perl
"-DPERL_DONT_CREATE_GVSV" لتجنب إنشاء هذه الكميات الفارغة. هذا سوف
تقليل عدد الكميات المخصصة لجميع التكوينات بشكل كبير، و
عدد العدديات التي يجب نسخها لإنشاء خيط. في حين أن هذا الخيار
ثنائي متوافق مع عمليات تثبيت Perl الموجودة، فهو يغير نظامًا طويل الأمد
الافتراض حول الأجزاء الداخلية، وبالتالي لم يتم تمكينه بشكل افتراضي، كما هو الحال مع بعض الثلث
قد يعتمد رمز الحزب على السلوك القديم.
نوصي باختبار هذا التكوين في عمليات النشر الجديدة لـ Perl،
خاصة بالنسبة للخوادم متعددة الخيوط، لمعرفة ما إذا كانت جميع أكواد الطرف الثالث موجودة أم لا
متوافق معه، حيث قد يوفر هذا التكوين تحسينات مفيدة في الأداء.
بالنسبة للتثبيتات الموجودة، لا نوصي بالتغيير إلى هذا التكوين
ما لم يتم إجراء اختبار شامل قبل النشر.
· لم تعد "التشخيصات" تستخدم $&، مما يؤدي إلى عمليات تسريع كبيرة لمطابقة التعبير العادي
في كل التعليمات البرمجية استخدامه.
· يتم الآن التعامل مع فئات التعبيرات العادية ذات الحرف الواحد بنفس الطريقة كما لو كانت
تم استخدام الحرف كحرف حرفي، مما يعني أن الكود الذي يستخدم فئات char كمحرف
آلية الهروب ستشهد تسريعًا. (إيف أورتن)
· لم يعد إنشاء مصفوفة مجهولة ومراجع التجزئة (أي "[]" و"{}") يتطلب المزيد
النفقات العامة من إنشاء قائمة مجهولة أو التجزئة. قدم نيكولاس كلارك التغييرات مع
توفير عمليتين ودفع مكدس واحد، والذي تم قياسه على أنه أفضل قليلاً من
تحسن بنسبة 5% لهذه العمليات.
· العديد من الاستدعاءات إلى "strlen()" تم حذفها، إما لأن الطول كان بالفعل
المعروفة، أو من خلال اعتماد أو تعزيز واجهات برمجة التطبيقات التي تمرر الأطوال. وقد ساعد في ذلك
اعتماد غلاف "my_sprintf()"، الذي يُرجع قيمة C89 الصحيحة - الطول
من السلسلة المنسقة. في السابق لم يكن بإمكاننا الاعتماد على القيمة المرجعة لـ
"sprintf()"، لأنه في بعض الأنظمة الأساسية القديمة ولكن الموجودة لا يزال يُرجع "char *".
· أصبح "الفهرس" الآن أسرع إذا كانت سلسلة البحث مخزنة في UTF-8 ولكنها تحتوي فقط على
الأحرف في النطاق اللاتيني-1.
· يتم الآن استخدام ذاكرة التخزين المؤقتة لحامل Unicode داخل محرك regexp. (كان البحث يحتوي على مفتاح
عدم التطابق، الموجود منذ التنفيذ الأولي). [RT #42839]
التثبيت و الاعداد إدخال التحسينات
ريلوكاتابل وإنشاء
هناك الآن ضبط دعم لإنشاء شجرة بيرل قابلة للنقل. اذا أنت ضبط مع
"-Duserelocatableinc"، ثم يمكن تحديد المسارات فيINC (وكل شيء آخر في %Config)
يقع بشكل اختياري عبر مسار بيرل تنفيذ.
في وقت البدء، إذا كان هناك أي مسارات فيINC أو "التكوين" ذلك ضبط تم وضع علامة على أنها قابلة للنقل (بواسطة
ابدأها بـ ".../")، ثم يتم بادئتها الدليل $^X. وهذا يسمح
يمكن تكوين النقل على أساس كل دليل، على الرغم من أن الإعداد الافتراضي هو
"-Duserelocatableinc" يعني نقل كل شيء. يتم التثبيت الأولي على
البادئة المكونة الأصلية.
الاعداد تحسينات
ضبط أصبح الآن أفضل في إزالة الملفات المؤقتة. توم كالاواي (من ريدهات) أيضًا
التصحيحات المساهمة التي تكمل مجموعة العلامات التي تم تمريرها إلى المترجم والرابط،
على وجه الخصوص، تم تمكين "-fPIC" الآن على نظام التشغيل Linux. وسوف ينعق أيضًا عندما يكون لديك / ديف / لاغية
ليس جهازا.
تم إنشاء متغير تكوين جديد "d_pseudofork". ضبط، ومتاح ك
$Config{d_pseudofork} في وحدة "Config". وهذا ما يميز دعم "الشوكة" الحقيقي عن
محاكاة pseudofork المستخدمة على منصات Windows.
التكوين.بود و التكوين.sh تم وضعها الآن بشكل صحيح للتجميع المتقاطع.
أصبح $Config{useshrplib} الآن "صحيح" بدلاً من "نعم" عند استخدام مكتبة Perl مشتركة.
مجموعة تحسينات
يجب أن تعمل الماركات الموازية بشكل صحيح الآن ، على الرغم من أنه قد لا تزال هناك مشاكل إذا "make
test "للتشغيل بالتوازي.
تم تنظيف العديد من تحذيرات التجميع. تحذير مترجم عنيد جدًا في
تم قتل "S_emulate_eaccess()" بعد ست محاولات. ز ++ تم ضبط الدعم
وخاصة بالنسبة لفري بي إس دي.
com.mkppport تم دمجها، وجميع ppport.h سيتم الآن إنشاء الملفات الموجودة في المركز تلقائيًا
في وقت الإنشاء (وإزالته أثناء التنظيف).
التثبيت تحسينات.
installman يعمل الآن مع "-Duserelocatableinc" و"DESTDIR".
installperl لم يعد يتم التثبيت:
· ملفات المكتبة الثابتة ذات الملحقات المرتبطة بشكل ثابت عندما تكون مكتبة بيرل مشتركة
تم استخدامها. (ليست هناك حاجة إليها. راجع "Windows" أدناه).
· التوقيع و وقفة*.حانة (ملفات CPAN)
· الملاحظات و التصحيح (ملفات إكستوتيلز)
· بيرلد و ld2 (ملفات سيجوين)
المنظومة محددة التغييرات
هناك تلميحات محسنة لـ AIX، وCygwin، وDEC/OSF، وFreeBSD، وHP/UX، وIrix 6 Linux، وMachTen،
NetBSD، OS/390، QNX، SCO، Solaris، SunOS، System V Release 5.x (UnixWare 7، OpenUNIX 8)،
أولتريكس، UMIPS، uts وVOS.
فري
· أسقط "-std=c89" و"-ansi" في حالة استخدام "long long" كنوع متكامل رئيسي، وإلا في
FreeBSD 6.2 (وربما إصدارات أخرى)، لا تعلن رؤوس النظام عن بعض الوظائف
مطلوب بواسطة بيرل.
سولاريس
· بدءًا من Solaris 10، لا نريد مكتبات مشتركة ذات إصدارات، لأن هذه المكتبات
غالبًا ما تشير إلى مكتبة للاستخدام الخاص فقط. يمكن أن تحدث هذه المشاكل في كثير من الأحيان
عندما تم تثبيت SUNWbdb (Berkeley DB). ومن ثم إذا تم اكتشاف مجموعة سولاريس 10
"ignore_versioned_solibs=y".
VMS
· السماح بإلغاء تحديد IEEE math على OpenVMS I64 (لكنه يظل الخيار الافتراضي).
· سجل استخدام IEEE في "config.h"
· مساعدة مجمعي VMS الأقدم باستخدام "ccflags" عند بناء "munchconfig.exe".
· لا تحاول إنشاء امتداد "Thread" قديم على نظام VMS عند اختيار "-Duseithreads".
· تمرير سلسلة خام من "NaN" إلى ناوك يؤدي إلى تفريغ الأساسية - لذلك كانت السلسلة
تم التغيير إلى "*NaN*"
· t/op/stat.t ستختبر الاختبارات الآن الروابط الثابتة على نظام VMS إذا كانت مدعومة.
ويندوز
· عند استخدام مكتبة بيرل مشتركة installperl لم يعد يقوم بتثبيت ملفات المكتبة الثابتة،
استيراد ملفات المكتبة وتصدير ملفات المكتبة (من الامتدادات المرتبطة بشكل ثابت) و
ملفات تمهيد فارغة (من الامتدادات المرتبطة ديناميكيًا). هذا يحل مشكلة
إنشاء PAR-Packer على نظام Win32 من خلال إنشاء تصحيح الأخطاء لـ Perl.
· تحسينات مختلفة لعملية إنشاء نظام Win32، بما في ذلك دعم Visual C++ 2005
الإصدار السريع (المعروف أيضًا باسم Visual C++ 8.x).
· بيرل.exe سيكون لها الآن رمز إذا تم إنشاؤها باستخدام MinGW أو Borland.
· إدخال تحسينات على عملية بناء Perl-static.exe.
إضافة خيار Makefile Win32 لربط جميع الملحقات بشكل ثابت.
· ال ويندوز سي تم دمج الدليل في Win32 الدليل.
تم إعادة تمكين اختبارات "setlocale" لنظام التشغيل Windows XP وما بعده.
مختار علة إصلاحات
يونيكود
تم إصلاح العديد من الأخطاء المتعلقة بتطبيق Unicode الداخلي (UTF-8). في
أخطاء معينة طويلة الأمد تتعلق بإرجاع Unicode عبر "الربط" أو التحميل الزائد أو $@
لقد اختفت الآن، ولم يتم الإبلاغ عن بعضها مطلقًا.
سيؤدي "unpack" إلى تحويل السلسلة داخليًا مرة أخرى من UTF-8 على أنواع رقمية. هذا ال
حل وسط بين الاتساق الكامل الآن في 5.10، والسلوك الحالي، وهو
غالبًا ما تستخدم كـ "ميزة" في أنواع السلسلة.
سيعمل الآن استخدام طبقات الإدخال والإخراج ":crlf" و"UTF-16" معًا.
تم إصلاح مشاكل "التقسيم" وUnicode "/\s+/" و"/ \0/".
تم إصلاح الخلل RT #40641 - ترميز أحرف Unicode في التعبيرات العادية.
تم إصلاح الخلل حيث أدى استخدام أنماط معينة في التعبير العادي إلى حالة من الذعر. [RT #45337]
لم يعد Perl يقسم الأخطاء (بسبب التكرار الداخلي اللانهائي) إذا كان حرف اللغة
ليس UTF-8 [RT #41442]:
استخدم مفتوح ': لغة'؛
طباعة STDERR "\x{201e}"; # "
بيرليو
تم إصلاح التناقضات في العد المرجعي الذي يستخدمه PerlIO لتتبعه
واصفات ملفات Unix، وواجهة برمجة التطبيقات (API) التي يستخدمها كود XS لإدارة الحصول على "FILE
*"س
سحر
تم إصلاح العديد من الأخطاء في Magic، وهو النظام الداخلي المستخدم لتنفيذ ميزات مثل
مثل "التعادل"، والتلويث وتقاسم المواضيع.
يقوم الآن "undef @array" الموجود على مصفوفة مرتبطة باستدعاء الأسلوب "CLEAR" بشكل صحيح.
لم تكن بعض العمليات المتعلقة بالبت تتحقق مما إذا كانت حججهم سحرية من قبل
استخدمهم. [RT #24816]
لم يعد يتم استدعاء السحر مرتين بالتعبير "\&$x"
تم حل الخلل المتعلق بتعيين أرقام كبيرة والتلويث. [RT #40708]
تمت إضافة إدخال جديد إلى MAGIC vtable - "svt_local". يتم استخدامه عند النسخ
السحر إلى القيمة الجديدة أثناء "المحلية"، مما يسمح بمشاركة مشاكل معينة في الترجمة
المتغيرات التي يتعين حلها.
للحصول على تفاصيل التنفيذ، راجع "الجداول الافتراضية السحرية" في perlguts.
مباركة زائد الأجسام زيوت ناو أعمال
داخليًا، كائن Perl موجود على المرجع، وليس المرجع، على الرغم من الأساليب
لا يمكن استدعاؤه إلا عبر مرجع. ومع ذلك، فإن التنفيذ الأصلي للتحميل الزائد
العلامات المخزنة المتعلقة بالتحميل الزائد على المرجع، بالاعتماد على العلامات التي يتم نسخها
عندما تم نسخ المرجع، أو تعيينه عند إنشاء مرجع جديد. هذا يتجلى
في خطأ - إذا قمت بإعادة تحويل كائن من فئة بها تحميل زائد إلى كائن به حمل زائد
لا، فإن أي مراجع أخرى موجودة تعتقد أنها (لا تزال) تشير إلى التحميل الزائد
الكائن، واختر مسارات التعليمات البرمجية C هذه، ثم قم بإلقاء الأخطاء. بالقياس، نعمة في
الطبقة المحملة بشكل زائد عند وجود مراجع أخرى ستؤدي إلى عدم استخدام التحميل الزائد.
تم إصلاح التنفيذ للإصدار 5.10، لكن هذا الإصلاح يغير دلالات العلامة
بت، لذا فهو غير متوافق مع النظام الثنائي، لذا لا يمكن تطبيقه على الإصدار 5.8.9. ومع ذلك، 5.8.9 لديه
الحل البديل الذي ينفذ نفس إصلاح الأخطاء. إذا كان للمرجع عدة مراجع
ثم يتم تحديد جميع المراجع الأخرى وتصحيحها. يتم تجنب البحث الكامل كلما
ممكن عن طريق مسح المفردات إلى الخارج من الروتين الفرعي الحالي، والحجة
كومة.
قام أحد بائعي Linux المعروفين بتطبيق إصدارات غير كاملة من إصلاح الأخطاء هذا على
/ البيرة / بن / بيرل ثم أغلقت تقارير الأخطاء حول مشكلات الأداء قبل الأوان
التشاور مرة أخرى المنبع. ولم يكن هذا كافيًا، فقد شرعوا في تجاهل الأمر
الإصلاحات اللازمة لهذه التغييرات التي لم يتم إصدارها لمدة 11 شهرا، حتى تم الضغط الهائل
تم تطبيقها من قبل عملائهم الذين دفعوا الثمن والذين طالت معاناتهم، مدفوعًا بالإخفاقات التي تم عرضها
على مدونة بارزة وSlashdot.
"حازم" زيوت ناو ينتشر بشكل صحيح إلى سلسلة التقييمات
تحت الإصدار 5.8.8 والإصدارات الأقدم:
$ perl5.8.8 -e 'استخدام صارم؛ تقييم "استخدم شريط foo" أو مت $@'
لا يمكن تحديد موقع foo.pm في @INC (@INC يحتوي على: ... .) في (التقييم 1) السطر 2.
فشل البدء - تم إحباط التجميع عند (التقييم 1) السطر 2.
تحت الإصدار 5.8.9 والإصدارات الأحدث:
$ perl5.8.9 -e 'استخدام صارم؛ تقييم "استخدم شريط foo" أو مت $@'
كلمة "شريط" غير مسموح بها أثناء استخدام "الغواصات الصارمة" في (التقييم 1) السطر 1.
قد يتسبب هذا في حدوث مشكلات مع البرامج التي تقوم بتحليل رسالة الخطأ والاعتماد على الأخطاء
سلوك.
أخرى إصلاحات
· لم يعد برنامج الرمز يعامل "=cute" (والكلمات الأخرى التي تبدأ بـ "=cut") على أنها أ
مرادف لـ "= قطع".
· الاتصال بـ "CORE::require"
تم دائمًا تحليل "CORE::require" و"CORE::do" على أنهما "require" و"do" عندما كانا
تم تجاوزها. تم إصلاح هذا الآن.
· توقف تسرب الذاكرة لفترة طويلة / الخ / المجموعات الإدخالات.
· "بينما (my $x ...) { ...; redo }" يجب ألا يكون "undef $x".
في حالة وجود "my" في حالة الشرط "while()" أو "until()" أو "for(;;)"
حلقة، نضيف الآن نطاقًا إضافيًا إلى الجسم بحيث لا تؤدي "الإعادة" إلى "إلغاء تحديد" الملف
معجمي.
· تتجاهل عملية "التشفير" الآن بشكل صحيح أي شيء يتبع الحرف "@" في ملف
متغيرات البيئة "LC_ALL" و"LANG". [RT # 49646]
· لوحظ segfault مع البعض دول مجلس التعاون الخليجي 3.3 تم حل التحسينات.
· تم حل خطأ segfault محتمل عند استخدام "الفك" في سياق عددي مع مجموعات "()".
[RT #50256]
· حل المشكلة حيث $! يمكن تغييره عن طريق معالج الإشارة الذي يقاطع "النظام"
مكالمة.
· تم إصلاح خطأ RT #37886، تم السماح بإلغاء الإشارة الرمزية في الوسيطة "المحددة"
حتى تحت تأثير "استخدم" مراجع "صارمة".
· تم إصلاح خطأ RT #43207، حيث أثر "lc"/"uc" داخل "sort" على قيمة الإرجاع.
· تم إصلاح خطأ RT #45607، حيث لم يعمل "*{"BONK"} = \&{"BONK"}" بشكل صحيح.
· تم إصلاح خطأ RT #35878، النعيق من XSUB الذي يتم الاتصال به عبر "goto &xsub" يفسد بيرل
الداخلية.
· تم إصلاح الخلل رقم 32539، DynaLoader.o يتم نقله إلى libperl.so لتجنب الحاجة إلى
قم بربط DynaLoader بشكل ثابت في كعب روتين Perl القابل للتنفيذ. مع هذا libperl.so
يوفر كل ما هو مطلوب لتشغيل مترجم Perl المضمن والوظيفي.
· إصلاح الخلل RT #36267 بحيث لا يؤدي تعيين التجزئة المرتبطة إلى تغيير التجزئة الأساسية.
إصلاح الخلل RT #6006، يستبدل التعبير العادي باستخدام متغيرات الاستبدال الكبيرة التي تفشل في بعض
مرة، أي عندما يحتوي الاستبدال على شيء مثل "${10}" (لاحظ القوس)
بدلاً من 10 دولارات فقط.
· إصلاح الخلل RT #45053، "Perl_newCONSTSUB()" أصبح الآن آمنًا.
المنظومة محددة إصلاحات
داروين / ماك X
· تحسينات مختلفة لبنيات 64 بت.
· تمت إضافة حماية Mutex في "PerliIOStdio_ Close ()" لتجنب ظروف السباق. أملاً
يؤدي هذا إلى إصلاح الفشل في اختبارات المواضيع free.t و كتل.t.
· تمت إضافة دعم المحطة المتشعبة إلى مصحح الأخطاء، مع القدرة على تحديث النافذة
اللقب.
OS / 2
· مشكلة بناء في تحديد "USE_MULTI" و"USE_ITHREADS" ولكن بدونها
تم إصلاح "USE_IMP_SYS".
· "OS2::REXX" تمت ترقيته إلى الإصدار 1.04
ترو 64
· محاذاة النقطة العائمة لبناء السياسات cc و دول مجلس التعاون الخليجي.
ريدهات لينكس
· إعادة النظر في التصحيح من 5.6.1 لـ RH7.2 لإنتل للمحكمة الجنائية الدولية [RT #7916]، تمت إضافة إضافة إضافية
تحقق من $Config{gccversion}.
سولاريس/i386
· استخدم "-DPTR_IS_LONG" عند استخدام أعداد صحيحة 64 بت
VMS
· تم إصلاح "PerlIO :: Scalar" في ملف الذاكرة الذي يقرأ نمط التسجيل.
· إغلاق الأنابيب عند مخرج العملية يجب أن يكون الآن أكثر قوة.
· تم إصلاح الخلل في معالجة خروج VMS بواسطة "Test::Harness" 2.64.
· إصلاح اختبار قدرة القفل "fcntl()". تكوين.com.
· تم استبدال "shrplib='define'" بـ "useshrplib='true'" على نظام VMS.
ويندوز
· "File::Find" يستخدم للفشل عندما يكون الدليل الهدف عبارة عن حرف محرك أقراص مجرد و
"no_chdir" هو 1 (الافتراضي هو 0). [RT #41555]
· مشكلة بناء في تحديد "USE_MULTI" و"USE_ITHREADS" ولكن بدونها
تم إصلاح "USE_IMP_SYS".
· لم يعد يتم اقتطاع معرف العملية إلى 16 بت على بعض أنظمة تشغيل Windows (
http://bugs.activestate.com/show_bug.cgi?id=72443 )
· تم إصلاح الخلل رقم 54828 في RT بيرليو.c حيث قد يتسبب استدعاء "binmode" على Win32 وCygwin
خطأ التجزئة.
الأصغر إصلاحات
· أصبح من الممكن الآن زيادة التحميل على "eq" عند استخدام "nomethod".
· مشاكل مختلفة باستخدام "التحميل الزائد" مع تصحيح الأعداد الصحيحة 64 بت.
· العدد المرجعي لواصفات الملفات "PerliO" يتم الآن التعامل معه بشكل صحيح.
· في نظام VMS، سيتم الحفاظ على النقاط التي تم تجاوزها عند تحويلها إلى صيغة Unix.
· لم يعد "المفاتيح %+" يصدر تحذيرًا "غامضًا".
· قد يؤدي استخدام "#!Perl -d" إلى ظهور تأكيد، وهو ما تم إصلاحه.
· لا تقم بتقييد مراجع التعليمات البرمجية المرتبطة في @INC عند الاتصال بـ "يتطلب".
· تشير مراجع التعليمات البرمجية في @INC إلى اسم الملف الصحيح عند استخدام "__FILE__".
· العرض والدقة في sprintf لم يتعامل مع الأحرف فوق 255 بشكل صحيح. [ر ت
# 40473]
· قائمة الشرائح التي تحتوي على مؤشرات خارج النطاق تعمل الآن بشكل أكثر اتساقًا. [RT #39882]
· تم إدخال تغيير مع بيرل 5.8.1 أدى إلى كسر تحليل وسيطات النموذج
"-foo=bar" مع "-s" على السطر <#!>. لقد تم إصلاح هذا. يرى
http://bugs.activestate.com/show_bug.cgi؟ معرف = 43483
· "tr///" أصبح الآن آمنًا. في السابق، كان يخزن مجموعة متناثرة داخل OP الخاص به، بدلاً من ذلك
مما كانت عليه في وسادة.
· pod2html يتم تثبيت التسميات بشكل أكثر اتساقًا وتتعامل مع قوائم التعريف المتداخلة بشكل أفضل.
تم توسيع حق النقض "المواضيع" للتنظيف ليشمل "Perl_free()" و
"بيرل_تدمير ()"
· في بعض الأنظمة، لن يتم دائمًا احترام التغييرات التي يتم إجراؤها على $ENV{TZ} من خلال العناصر الأساسية
يدعو إلى "localtime_r ()". يفرض بيرل الآن فحص البيئة على هذه العناصر
الأنظمة.
· يتم الآن تعيين المتغير الخاص $^R بشكل أكثر اتساقًا عند تنفيذ التعبيرات العادية باستخدام ملف
"(؟{...})" البناء. على وجه الخصوص، سيتم تعيينه حتى لو كانت المراجع الخلفية أو
الأنماط الفرعية الاختيارية "(؟:...)؟" يستخدم.
جديد or تغير التشخيص
ذعر: sv_chop %s
يحدث هذا الخطأ الفادح الجديد عندما يتم تمرير روتين C "Perl_sv_chop()" إلى موضع
ليس ضمن المخزن المؤقت لسلسلة العددية. يحدث هذا بسبب رمز XS عربات التي تجرها الدواب، وفي هذا
استرداد النقطة غير ممكن.
القصوى عد of قيد الانتظار إشارات (٪س) تجاوز
يحدث هذا الخطأ الفادح الجديد عندما يتعين إيقاف عملية Perl بسبب وجود عدد كبير جدًا من العمليات المعلقة
الإشارات، والتي لا بد أن تمنع بيرل من القدرة على التعامل مع المزيد من الإشارات الواردة
بأمان.
ذعر: محاولة إلى دعوة %s in %s
يحدث هذا الخطأ الفادح الجديد عند استخدام عامل اختبار ملف إصدار ACL في مكانه
غير متوفر على النظام الأساسي الحالي. الشيكات السابقة تعني أنه لا ينبغي أن يكون كذلك
ممكن الحصول على هذا.
حجم الجلب عاد a سلبي قيمنا
خطأ جديد يشير إلى أن المصفوفة المرتبطة تدعي أنها تحتوي على عدد سالب من العناصر.
لا يمكن ترقية %s (٪د) إلى %d
في السابق، كان الخطأ الداخلي من رمز ترقية SV أقل إفادة لا يمكن
ترقية أن نوع of العددية. يقوم الآن بالإبلاغ عن النوع الداخلي الحالي والنوع الجديد
المطلوب.
%s حجة is ليست a HASH or مجموعة مصفوفة العنصر or a روتين
هذا الخطأ، الذي تم طرحه إذا تم تقديم وسيطة غير صالحة لـ "موجود" يتضمن الآن بشكل صحيح
"أو روتين فرعي". [RT #38955]
لا يمكن جعل القادم غير قابلة للتجاوز المضمن %s مميت
هذا الخطأ في "فادح" سابقًا لم يُظهر اسم المضمن المعني (الآن
ممثلة بـ %s أعلاه).
غير المعترف بها حرف '٪س' in عمود %d
هذا الخطأ لم يذكر العمود سابقًا.
عوض في الخارج سلسلة
يمكن الآن أيضًا إنشاء هذا عن طريق "البحث" على مؤشر الملف باستخدام "PerlIO::scalar".
باطل هرب in القادم محدد ترميز in التعبير العادي؛ ملحوظ by <- هنا in آنسة/
خطأ جديد، تم تقديمه كجزء من إصلاح RT #40641 للتعامل مع تشفير Unicode
الأحرف في تعليقات التعبير العادي.
معلمتك اليوغا آلة لا تقنية تفريغ/تفريغ.
تم إصدار خطأ فادح أكثر إفادة عند استدعاء "تفريغ" على Win32 وCygwin. (بشرط
الغرض من "التفريغ" هو الإجهاض باستخدام التفريغ الأساسي، ولا يمكن إنتاج عمليات التفريغ الأساسية عليه
هذه المنصات، وهذا أكثر فائدة من الخروج بصمت.)
تغير الداخلية
يمكن الآن تجميع مصادر Perl باستخدام مترجم C++ بدلاً من مترجم C. أ
تفاصيل التنفيذ الضرورية هي أنه ضمن C++، يتم استخدام الماكرو "XS" لتعريف XSUBs
يتضمن الآن تعريف "C" خارجي. أحد الآثار الجانبية لهذا هو أن C + + الكود الذي استخدمه
البناء
typedef XS(SwigPerlWrapper);
الآن يحتاج إلى أن تكون مكتوبة
typedef XSPROTO(SwigPerlWrapper);
باستخدام الماكرو الجديد "XSPROTO" لتجميعه. ومع ذلك، فإن ملحقات C لم تتأثر
يتم تشجيع ملحقات C على استخدام "XSPROTO" أيضًا. كان هذا التغيير موجودًا في الإصدار 5.10.0
إصدار Perl، لذا فإن أي كود تمت صيانته بشكل نشط حدث لاستخدام هذا البناء
ينبغي أن تكون قد تم تكييفها بالفعل. سوف تفشل التعليمات البرمجية التي تحتاج إلى تغيير مع التحويل البرمجي
خطأ.
سيتم الآن تشغيل السحر "set" عند الترجمة/التعيين لمتغير سحري فقط
حاوية السحر، أي أنه سيكون لـ %ENV أو %SIG ولكن ليس لـ $#array.
يمكن استخدام ماكرو API الجديد "newSVpvs()" بدلاً من الإنشاءات مثل
"newSVpvn("ISA"، 3)". يستغرق ثابت سلسلة واحدة، ويتم تحديد وقت الترجمة في لغة C
طوله.
يمكن استخدام وظيفة API الجديدة "Perl_newSV_type()" كبديل أكثر كفاءة لـ
المصطلح المشترك
سيفرت = newSV(0)
sv_upgrade(sv, type);
وبالمثل، يمكن استخدام "Perl_newSVpvn_flags()" لدمج "Perl_newSVpv()" مع
"Perl_sv_2mortal()" أو ما يعادلها "Perl_sv_newmortal()" مع "Perl_sv_setpvn()"
تمت إضافة وحدتي ماكرو جديدتين "mPUSHs()" و"mXPUSHs()" لتسهيل دفع SVs المميتة
على المكدس. ثم تم استخدامها لإصلاح العديد من الأخطاء حيث لم تكن القيم الموجودة على المكدس موجودة
تم قتله.
تمت إضافة وظيفة "Perl_signbit()" لاختبار إشارة "NV". إنه يعين النظام
واحدة عندما تكون متاحة.
"Perl_av_reify()"، "Perl_lex_end()"، "Perl_mod()"، "Perl_op_clear()"، "Perl_pop_return()"،
أصبحت "Perl_qerror()" و"Perl_setdefout()" و"Perl_vivify_defelem()" و"Perl_yylex()" الآن
مرئية للملحقات. كان هذا مطلوبًا للسماح لـ "Data::Alias" بالعمل على نظام التشغيل Windows.
أصبح "Perl_find_runcv()" مرئيًا الآن لامتدادات Perl الأساسية. كان هذا مطلوبًا للسماح
"Sub::Current" للعمل على نظام التشغيل Windows.
وظائف "ptr_table*" متاحة الآن في لغة Perl غير المترابطة. "قابل للتخزين" يستفيد منه
هذا.
تم إجراء العديد من عمليات التنظيف الصغيرة على الأجزاء الداخلية. بخاصة،
لقد تم تبسيط "Perl_sv_upgrade()" إلى حد كبير، باستخدام مسار التعليمات البرمجية المباشر
يستخدم "memset()" و"memcpy()" لتهيئة الجسم الجديد، بدلاً من التعيين عبره
متغيرات مؤقتة متعددة. وقد استفادت أيضاً من التبسيط وإزالة الازدواجية
من قانون إدارة الساحة.
تم إجراء الكثير من التحسينات الصغيرة في قاعدة التعليمات البرمجية بفضل التقارير الواردة من Coverity
محلل رمز ثابت.
الاستخدام الصحيح والتوثيق لـ "Perl_gv_stashpv()"، "Perl_gv_stashpvn()"،
وظائف "Perl_gv_stashsv()" (المعلمة الأخيرة هي قناع نقطي، وليست منطقية).
تم تغيير وحدات الماكرو "PERL_SYS_INIT" و"PERL_SYS_INIT3" و"PERL_SYS_TERM" إلى
الوظائف.
لم يعد "PERLSYS_TERM" يتطلب سياقًا. يتم الآن استدعاء "PerlIO_teardown()" بدون ملحق
السياق، وتم تعطيل إخراج التصحيح في هذه الوظيفة لأن ذلك مطلوب
وجود مترجم فوري، وهو افتراض غير صالح في وقت إنهاء الخدمة.
تم تجميع كافة خيارات وقت الترجمة التي تؤثر على التوافق الثنائي معًا في
متغير عام ("PL_bincompat_options").
تم الآن تخزين قيم "PERL_REVISION" و"PERL_VERSION" و"PERL_SUBVERSION" في
المتغيرات العالمية (وبالتالي في أي مكتبة بيرل مشتركة). بالإضافة إلى ذلك تحت
"MULTIPLICITY"، يسجل ملف Perl القابل للتنفيذ الآن حجم بنية المترجم
(المجموع، ولهذا الإصدار). بالاقتران مع "PL_bincompat_options" سيسمح هذا بالإصدار 5.8.10
(والإصدارات الأحدث)، عند تجميعها مع مكتبة Perl مشتركة، لإجراء عمليات التحقق من السلامة
"main()" للتحقق من أن المكتبة المشتركة متوافقة بالفعل مع النظام الثنائي.
يمكن الآن أن تحتوي المراجع الرمزية على NULs مضمنة. الوظيفة العمومية الجديدة
يمكن استخدام "Perl_get_cvn_flags()" في الامتدادات إذا كان عليك التعامل معها.
الماكرو عمليات التنظيف
الكود الأساسي، ورمز XS في تحويلة لم يعد يعيش بشكل مزدوج على CPAN، ولم يعد يستخدم
وحدات الماكرو "PL_na"، "NEWSV()"، "Null()"، "Nullav"، "Nullcv"، "Nullhv"، "Nullhv" إلخ. استخدامها
لا يتم تشجيعه في التعليمات البرمجية الجديدة، وخاصة "PL_na"، وهو أداء صغير.
جديد اختبارات
تتضمن العديد من الوحدات المحدثة من CPAN اختبارات جديدة. تم إجراء بعض الاختبارات المحددة الأساسية
وأضاف:
تحويلة/DynaLoader/t/DynaLoader.t
اختبارات وحدة "DynaLoader".
ر/شركات/fold.t
اختبارات الطي الثابت في زمن التجميع.
ر / io / pvbm.t
الاختبارات المدمجة من الإصدار 5.10.0 والتي تتحقق من عدم وجود تفاعل غير متوقع
بين النوعين الداخليين "PVBM" و"PVGV".
t/lib/proxy_constant_subs.t
اختبارات للشكل الجديد من الإجراءات الفرعية الثابتة.
t/op/attrhand.t
اختبارات "السمة::المعالجات".
t / المرجع / dbm.t
اختبارات "dbmopen".
t/op/inccode-tie.t
يدعو جميع الاختبارات في t/op/inccode.t بعد ربط @INC لأول مرة.
t/op/incfilter.t
تم إرجاع اختبارات عوامل تصفية المصدر من مراجع التعليمات البرمجية في @INC.
t/op/kill0.t
اختبارات RT #30970.
t/op/qrstack.t
اختبارات RT #41484.
ر/المرجع/qr.t
اختبارات للبناء "qr//".
t/op/regexp_qr_embed.t
اختبارات إنشاء "qr//" ضمن تعبير عادي آخر.
t/op/regexp_qr.t
اختبارات للبناء "qr//".
t/op/rxcode.t
اختبارات RT #32840.
t/op/studytied.t
اختبارات "الدراسة" على الكميات المقيدة.
t/op/substT.t
يتم تشغيل اختبارات "subst" ضمن الوضع "-T".
t/op/symbolcache.t
اختبارات "undef" و"delete" على إدخالات التخزين المرتبطة بالإجراءات الفرعية أو
الأساليب.
ر / مرجع / ترقية
اختبارات "Perl_sv_upgrade()".
t / mro / package_aliases.t
اختبارات MRO لـ "isa" والأسماء المستعارة للحزمة.
ر/جراب/مرتين
اختبارات استدعاء "Pod::Parser" مرتين.
t/run/cloexec.t
اختبارات وراثة واصفات الملفات عبر "exec" (الإغلاق على exec).
t/uni/cache.t
اختبارات لرمز التخزين المؤقت UTF-8.
ر/يوني/chr.t
اختبر أن الترميزات الغريبة لا تزعج "Perl_pp_chr()".
t/uni/greek.t
اختبارات RT #40641.
تي/يوني/latin2.t
اختبارات RT #40641.
t/uni/overload.t
اختبارات إرجاع Unicode من القيم المحملة بشكل زائد.
ر / يوني / التعادل
اختبارات إرجاع Unicode من المتغيرات المرتبطة.
معروف مشاكل
لا توجد أخطاء جديدة معروفة.
ومع ذلك، فإن البرامج التي تعتمد على الأخطاء التي تم إصلاحها ستواجه مشاكل. أيضا العديد
لا يمكن إعادة إصلاحات الأخطاء الموجودة في الإصدار 5.10.0 إلى فرع الإصدار 5.8.x، لأنها تتطلب
التغييرات الثنائية غير المتوافقة، أو لأن تغييرات التعليمات البرمجية كبيرة جدًا وبالتالي
محفوفة بالمخاطر للغاية لدمجها.
لدينا فقط عدد محدود من العمالة التطوعية، وعبء الصيانة يتزايد
معقد. ومن ثم سيكون هذا هو الإصدار المهم الأخير من سلسلة 5.8.x. أي مستقبل
من المرجح أن تكون إصدارات 5.8.x مخصصة فقط للتعامل مع المشكلات الأمنية وبناء النظام الأساسي
الفشل. ومن ثم، يجب أن تفكر في الانتقال إلى الإصدار 5.10.x، إذا لم تكن قد بدأت بالفعل.
وبدلاً من ذلك، إذا كانت متطلبات العمل تقيدك على الاستمرار في استخدام الإصدار 5.8.x، فيمكنك ذلك
ترغب في النظر في الدعم التجاري من شركات مثل ActiveState.
المنظومة محددة ملاحظة
Win32
يستخدم "readdir()" و"cwd()" و$^X وINC الآن اسم الملف البديل (القصير) إذا كان الاسم طويلًا
موجود خارج مخطط الشفرة الحالي (Jan Dubois).
تحديث الأقسام
· "Win32" تمت ترقيته إلى الإصدار 0.38. الآن لديه استجابة "WinVista" موثقة من
"GetOSName" ودعم رفع امتيازات نظام التشغيل Vista في "IsAdminUser". الدعم ل
أحرف Unicode في أسماء المسارات. تحسين توافق cygwin وWin64.
· تم تحديث "Win32API" إلى 0.1001_01
· تمت إضافة دعم "killpg()" إلى "MSWin32" (جان دوبوا).
· "الملف::Spec::Win32" تمت ترقيته إلى الإصدار 3.2701
OS / 2
تحديث الأقسام
· "OS2::Process" تمت ترقيته إلى 1.03
قام إيليا زاخاريفيتش بإضافة وتوثيق العديد من وظائف "Window*" و"Clipbrd*".
· "OS2::REXX::DLL"، "OS2::REXX" تم تحديثه إلى الإصدار 1.03
VMS
تحديث الأقسام
· ترقية "DCLsym" إلى الإصدار 1.03
· ترقية "Stdio" إلى الإصدار 2.4
· تمت ترقية "VMS::XSSymSet" إلى الإصدار 1.1.
سجل الوفيات
نيك إنج سيمونز، هاكر بيرل منذ فترة طويلة، مؤلف وحدات "Tk" و"Encode"، بيرليو.c
في القلب، و5.003_02 ضخ، توفي بنوبة قلبية في 25 سبتمبر 2006. وسوف
ينبغي تفويتها.
شكر وتقدير
تم تمويل بعض الأعمال في هذا الإصدار من خلال منحة TPF.
عمل ستيف هاي خلف الكواليس على تحديد أسباب الاختلافات بين العناصر الأساسية
الوحدات وإصدارات CPAN الخاصة بها والإصدارات الأساسية السابقة وأفضل طريقة للتصحيح
هم. لا يريد أن يفعل ذلك مرة أخرى. أعرف هذا الشعور، وأنا سعيد جدًا لأنه فعل ذلك
هذه المرة بدلا مني.
قام بول فينويك بتجميع فريق من 18 متطوعًا، الذين كسروا ظهرهم لكتابة هذا
وثيقة. على وجه الخصوص، برادلي دين، إدي تان، وفنسنت بيت قدموا نصف الفريق
إسهام.
تحقق شويرن من قائمة إصدارات الوحدات المحدثة، وقام بتصحيح عدد لا بأس به من الأخطاء التي ذكرتها
(والجميع) قد فاتهم، تم ذكر إصدارات الوحدة بشكل خاطئ، وتم تغيير الوحدات
التي لم تكن مدرجة.
تم إعادة بناء فريق ضمان الجودة ومقره برلين، المكون من أندرياس كونيج وسلافن ريزيتش، بلا كلل
لقطات، واختبرت معظم كل شيء في CPAN ضدها، ثم حددت التغييرات
مسؤول عن أي تراجعات في الوحدة، مما يضمن وجود العديد من الأخطاء التي تمنع العرض
داس قبل قطع مرشح الإصدار الأول.
ساهم الملتزمون الأساسيون الآخرون في معظم التغييرات ، وطبقوا معظم التصحيحات
أرسلها مئات المساهمين المدرجين في مؤلفون.
ومن الواضح أن لاري وول، الذي لولاه لما كان لدينا بيرل.
التقارير البق
إذا وجدت ما تعتقد أنه خطأ ، فيمكنك التحقق من المقالات المنشورة مؤخرًا في
مجموعة أخبار comp.lang.perl.misc وقاعدة بيانات أخطاء perl في http://bugs.perl.org. هناك
قد تكون أيضًا معلومات في http://www.perl.org، صفحة Perl الرئيسية.
إذا كنت تعتقد أن لديك خطأ لم يتم الإبلاغ عنه ، فيرجى تشغيل com.perlbug البرنامج المتضمن مع
إطلاق سراحك. تأكد من تقليم الخطأ الخاص بك إلى حالة اختبار صغيرة ولكنها كافية. علة الخاص بك
التقرير ، جنبًا إلى جنب مع ناتج "perl -V" ، سيتم إرساله إلى [البريد الإلكتروني محمي] أن تكون
حللها فريق بيرل. يمكنك التصفح والبحث في أخطاء Perl 5 على
http://bugs.perl.org/
إذا كان الخطأ الذي تبلغ عنه له آثار أمنية ، مما يجعله غير مناسب
إرسال إلى قائمة بريدية مؤرشفة بشكل عام ، ثم الرجاء إرسالها إلى
[البريد الإلكتروني محمي]. يشير هذا إلى اشتراك مغلق بريدية غير مؤرشفة
القائمة ، والتي تشمل جميع الملتزمون الأساسيون ، والذين سيكونون قادرين على المساعدة في تقييم الأثر
من المشكلات ، وتحديد حل لها ، والمساعدة في تنسيق إصدار التصحيحات إلى
التخفيف من المشكلة أو إصلاحها عبر جميع الأنظمة الأساسية التي تدعم Perl. من فضلك فقط
استخدم هذا العنوان لقضايا الأمان في Perl core ، وليس للوحدات النمطية بشكل مستقل
وزعت على CPAN.
استخدم perl589delta عبر الإنترنت باستخدام خدمات onworks.net