perl587delta - الإنترنت في السحابة

هذا هو الأمر perl587delta الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


perl587delta - ما الجديد في Perl v5.8.7

الوصف


يصف هذا المستند الاختلافات بين الإصدار 5.8.6 والإصدار 5.8.7.

غير متوافق التغييرات


لا توجد تغييرات غير متوافقة مع 5.8.6.

جوهر التحسينات


يونيكود حرف قاعدة البيانات 4.1.0
تم تحديث نسخة قاعدة بيانات أحرف Unicode المضمنة في Perl 5.8 إلى 4.1.0
من 4.0.1. يرىhttp://www.unicode.org/versions/Unicode4.1.0/#NotableChanges> لـ
تغييرات ملحوظة.

suidperl أقل غير آمن
تم إغلاق زوج من عمليات الاستغلال في "suidperl" التي تتضمن تعليمات برمجية لتصحيح الأخطاء.

بالنسبة للمشاريع الجديدة، يوصي فريق Perl الأساسي بشدة باستخدام مفردات مخصصة ومفردة
استخدم أدوات الأمان مثل "sudo" بدلاً من "suidperl".

اختياري الموقع التخصيص سيناريو
يمكن إنشاء مترجم Perl للسماح باستخدام البرنامج النصي لتخصيص الموقع. بواسطة
افتراضيًا، لم يتم تمكين هذا، ليكون متوافقًا مع إصدارات Perl السابقة. لاستخدام هذا،
أضف "-Dusesitecustomize" إلى إشارات سطر الأوامر عند تشغيل البرنامج النصي "Configure".
انظر أيضًا "-f" في perlrun.

"التكوين.pm" is الآن كثيرا أصغر.
يبلغ حجم "Config.pm" الآن حوالي 3 كيلو بايت بدلاً من 32 كيلو بايت، مع الكود الذي نادر الاستخدام و%Config
القيم المحملة عند الطلب. وهذا واضح بالنسبة للمبرمج، ولكنه يعني أن معظم التعليمات البرمجية
سيتم حفظ تحليل وتحميل 29 كيلو بايت من البرنامج النصي (على سبيل المثال، التعليمات البرمجية التي تستخدم "File::Find").

الأقسام و براغماتا


· ب تمت ترقيته إلى الإصدار 1.09

· ترقية القاعدة إلى الإصدار 2.07

· ترقية bignum إلى الإصدار 0.17

· بايتات تمت ترقيتها إلى الإصدار 1.02

· ترقية الكارب إلى الإصدار 1.04

· ترقية CGI إلى الإصدار 3.10

· الفئة::ترقية ISA إلى الإصدار 0.33

· البيانات::ترقية شاحنة قلابة إلى الإصدار 2.121_02

· ترقية DB_File إلى الإصدار 1.811

· Devel::PPPort تمت ترقيته إلى الإصدار 3.06

· ترقية الملخص إلى الإصدار 1.10

ترميز ترقية إلى الإصدار 2.10

· ترقية FileCache إلى الإصدار 1.05

· الملف::ترقية المسار إلى الإصدار 1.07

· الملف::Temp تمت ترقيته إلى الإصدار 0.16

· IO::تم ترقية الملف إلى الإصدار 1.11

· IO::Socket تمت ترقيته إلى الإصدار 1.28

· الرياضيات::BigInt تمت ترقيته إلى الإصدار 1.77

· الرياضيات::BigRat تمت ترقيته إلى الإصدار 0.15

· ترقية التحميل الزائد إلى الإصدار 1.03

· ترقية PathTools إلى الإصدار 3.05

· جراب :: ترقية HTML إلى الإصدار 1.0503

· جراب :: Perldoc تمت ترقيته إلى الإصدار 3.14

· Pod::LaTeX تمت ترقيته إلى الإصدار 0.58

· قرنة :: ترقية المحلل إلى الإصدار 1.30

· ترقية الرمز إلى الإصدار 1.06

· المصطلح :: ترقية ANSIColor إلى الإصدار 1.09

· الاختبار :: ترقية الحزام إلى الإصدار 2.48

· اختبار::ترقية بسيطة إلى الإصدار 0.54

· النص :: التفاف تمت ترقيته إلى الإصدار 2001.09293 لإصلاح الخلل متى طَوّق() تم استدعاؤه مع أ
فاصل غير الفضاء.

· المواضيع :: المشتركة تمت ترقيتها إلى الإصدار 0.93

· الوقت :: ترقية HiRes إلى الإصدار 1.66

· الوقت::ترقية محلية إلى الإصدار 1.11

يونيكود::تطبيع الترقية إلى الإصدار 0.32

· ترقية utf8 إلى الإصدار 1.05

· ترقية Win32 إلى الإصدار 0.24، الذي يوفر Win32::GetFileVersion

مرافق التغييرات


find2perl التحسينات
يحتوي "find2perl" على خيارات جديدة "-iname" و"-path" و"-ipath".

الأداء التحسينات


يستخدم الآن تجزئة تعيين المؤشر الداخلي المستخدم أثناء استنساخ ithreads ساحة لـ
تخصيص الذاكرة. في الاختبارات، أدى هذا إلى تقليل وقت استنساخ الخيوط بحوالي 10%.

التثبيت و الاعداد إدخال التحسينات


تم تحديث Win32 "dmake" makefile.mk لجعله متوافقًا مع الأحدث
إصدارات دماكي.

· ينبغي الآن استخدام "PERL_MALLOC" و"DEBUG_MSTATS" و"PERL_HASH_SEED_EXPLICIT" و"NO_HASH_SEED"
العمل في ملفات تعريف Win32.

مختار علة إصلاحات


· ال مقبس () تم إصلاح الوظيفة على Win32 بحيث تكون قادرة على استخدام النقل
مقدمو الخدمات الذين يحددون بروتوكولًا بقيمة 0 (بمعنى أنه مسموح بأي بروتوكول) مرة أخرى.
(تم تعطل هذا في الإصدار 5.8.6، وعادة ما يتسبب في فشل استخدام مآخذ توصيل ICMP.)

· خطأ غامض آخر يتعلق بـ "substr" وUTF-8 بسبب التخزين المؤقت السيئ للإزاحة الداخلية
تم تحديدها وإصلاحها.

· تم إصلاح الخلل المتعلق بتحميل جداول UTF-8 بواسطة محرك regexp - الكود
مثل ""\x{100}" =~ /[[:print:]]/" لن يعطي نتائج تالفة بعد الآن.

· عمليات تحويل الحالة مثل "uc" على سلسلة طويلة من Unicode يمكن أن تستنفد الذاكرة.
تم إصلاح هذا.

· "الفهرس"/"rindex" كانت عربات التي تجرها الدواب لبعض مجموعات من البيانات Unicode وغير Unicode.
تم إصلاح هذا.

· "قراءة" (ومن المفترض أن "قراءة النظام") ستكشف عن UTF-8 الداخلي عند القراءة من ملف
التعامل مع الملف الموجه بالبايت إلى حجم UTF-8. لقد تم إصلاح هذا.

· عدة إصلاحات لأخطاء "الحزم" و"التفريغ":

· تم كسر المجاميع الاختبارية ذات التنسيق "ب" أو "ب".

· "فك" المجاميع الاختبارية يمكن أن تفيض بالتنسيق "C".

· تم الآن تصنيف "U0" و"C0" على القوالب الفرعية "()" "pack".

· بادئات الطول المحسوبة الآن لا تغير وضع "C0"/"U0".

· "pack" "Z0" يستخدم لتدمير الشخصية السابقة.

· تنسيقات "P"/"p" "pack" المستخدمة للتعرف فقط على كلمة "undef" الحرفية

· قد يؤدي استخدام عمليات الإغلاق مع ithreads إلى تعطل لغة Perl. وكان هذا بسبب الفشل في
قفل هياكل OP الداخلية بشكل صحيح، وتم إصلاحه.

· القيمة المرجعة لـ "إغلاق" تعكس الآن بشكل صحيح أي أخطاء في الملف تحدث أثناء ذلك
مسح بيانات المقبض، بدلاً من مجرد إعطاء الفشل إذا كان السبب الفعلي
فشلت عملية إغلاق الملف.

· "not() || 1" يستخدم للتقسيم. "ليس ()" يتصرف الآن مثل ليس(0) وهو ما قبله
5.6.0 السلوك.

· "h2ph" لديه تحسينات مختلفة للتعامل مع التركيبات الموجودة في ملفات الرأس التي كانت تستخدم
يؤدي إلى إخراج غير صحيح أو غير صالح.

جديد or تغير التشخيص


يوجد خطأ جديد، "%ENV مستعار لـ %s". يتم طرح هذا الخطأ عندما يكون ملوثًا
يتم تمكين عمليات التحقق وعندما يتم استخدام اسم مستعار لـ *ENV، بحيث لا يكون لدى %ENV سحر env بعد الآن
وبالتالي لا يمكن التحقق من أن البيئة خالية من التلوث.

تم تحديث الأجزاء الداخلية لـ "pack" و"unpack". ينبغي لجميع القوالب المشروعة
العمل كما كان من قبل، ولكن قد تكون هناك بعض التغييرات في الخطأ الذي تم الإبلاغ عنه بسبب الفشل المعقد
حالات. تعتبر أي تغييرات في السلوك في حالات عدم وجود أخطاء بمثابة أخطاء، ويجب الإبلاغ عنها.

تغير الداخلية


لقد كان هناك قدر لا بأس به من إعادة هيكلة الكود المصدري لـ "C"، جزئيًا لتحقيق ذلك
أكثر ترتيبًا وأكثر قابلية للصيانة. قد يكون رمز الكائن الناتج والثنائي "Perl" كذلك
أصغر من 5.8.6، ونأمل أن يكون أسرع في بعض الحالات، ولكن بصرف النظر عن هذا ينبغي أن يكون هناك
لا تكون هناك تغييرات يمكن للمستخدم اكتشافها.

تمت إضافة "${^UTF8LOCALE}" لمنح مساحة Perl إمكانية الوصول إلى "PL_utf8locale".

يمكن الآن تغيير حجم الساحات المستخدمة لتخصيص رؤوس SV ومعظم أجسام SV
وقت الترجمة. كان الحجم القديم 1008 بايت، والحجم الافتراضي الجديد هو 4080 بايت.

معروف مشاكل


يمكن أن تكون سلاسل Unicode التي يتم إرجاعها من عوامل التشغيل المحملة بشكل زائد عربات التي تجرها الدواب. هذا هو مكانة طويلة
تم الإبلاغ عن خطأ منذ إصدار 5.8.6، ولكن ليس لدينا حتى الآن حل مناسب له.

الانطلاق محددة مشاكل


في نظام UNICOS، يتوقف lib/Math/BigInt/t/bigintc.t عن حرق وحدة المعالجة المركزية. تحويلة/B/t/bytecode.t و
ext/Socket/t/socketpair.t فشل كلا الاختبارين. ومن غير المرجح أن يتم حل هذه المشاكل، كما حدث لدينا
تم إيقاف تشغيل Cray الأخير لـ UNICOS Porter الشجاع.

التقارير البق


إذا وجدت ما تعتقد أنه خطأ ، فيمكنك التحقق من المقالات المنشورة مؤخرًا في
مجموعة أخبار comp.lang.perl.misc وقاعدة بيانات أخطاء perl في http://bugs.perl.org. هناك
قد تكون أيضًا معلومات في http://www.perl.org، صفحة Perl الرئيسية.

إذا كنت تعتقد أن لديك خطأ لم يتم الإبلاغ عنه ، فيرجى تشغيل com.perlbug البرنامج المتضمن مع
إطلاق سراحك. تأكد من تقليم الخطأ الخاص بك إلى حالة اختبار صغيرة ولكنها كافية. علة الخاص بك
التقرير ، جنبًا إلى جنب مع ناتج "perl -V" ، سيتم إرساله إلى perlbug@perl.org أن تكون
حللها فريق بيرل. يمكنك التصفح والبحث في أخطاء Perl 5 على
http://bugs.perl.org/

استخدم perl587delta عبر الإنترنت باستخدام خدمات onworks.net



أحدث برامج Linux و Windows عبر الإنترنت