นี่คือคำสั่ง perl587delta ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
perl587delta - มีอะไรใหม่สำหรับ perl v5.8.7
DESCRIPTION
เอกสารนี้อธิบายความแตกต่างระหว่างรุ่น 5.8.6 และรุ่น 5.8.7
เข้ากันไม่ได้ การเปลี่ยนแปลง
ไม่มีการเปลี่ยนแปลงที่เข้ากันไม่ได้กับ 5.8.6
แกน การเพิ่มประสิทธิภาพ
Unicode คาแรคเตอร์ ฐานข้อมูล 4.1.0
สำเนาของฐานข้อมูลอักขระ Unicode ที่รวมอยู่ใน Perl 5.8 ได้รับการอัปเดตเป็น 4.1.0
จาก 4.0.1 ดูhttp://www.unicode.org/versions/Unicode4.1.0/#NotableChanges> สำหรับ
การเปลี่ยนแปลงที่โดดเด่น
ซูดเพิร์ล น้อยลง ไม่ปลอดภัย
มีการปิดช่องโหว่ใน "suidperl" ที่เกี่ยวข้องกับรหัสการดีบักแล้ว
สำหรับโครงการใหม่ ทีมงาน Perl หลักขอแนะนำอย่างยิ่งให้คุณใช้เฉพาะ single
เครื่องมือรักษาความปลอดภัยตามวัตถุประสงค์ เช่น "sudo" แทนที่จะเป็น "suidperl"
สามารถเลือกหรือไม่เลือกก็ได้ เว็บไซต์ การปรับแต่ง ต้นฉบับ
ตัวแปล Perl สามารถสร้างได้เพื่อให้สามารถใช้สคริปต์การปรับแต่งไซต์ได้ โดย
ค่าเริ่มต้นนี้ไม่ได้เปิดใช้งานเพื่อให้สอดคล้องกับรุ่นก่อนหน้าของ Perl เพื่อใช้สิ่งนี้
เพิ่ม "-Dusesitecustomize" ให้กับแฟล็กบรรทัดคำสั่งเมื่อรันสคริปต์ "Configure"
ดูเพิ่มเติมที่ "-f" ใน perlrun
"Config.pm" is ตอนนี้ มาก เล็กกว่า
"Config.pm" ตอนนี้อยู่ที่ประมาณ 3K แทนที่จะเป็น 32K โดยมีโค้ดที่ใช้ไม่บ่อยและ %Config
ค่าโหลดตามความต้องการ สิ่งนี้โปร่งใสสำหรับโปรแกรมเมอร์ แต่หมายความว่า code . ส่วนใหญ่
จะบันทึกการแยกวิเคราะห์และโหลดสคริปต์ 29K (เช่น รหัสที่ใช้ "File::Find")
โมดูล และ ในทางปฏิบัติ
· B อัปเกรดเป็นเวอร์ชัน 1.09
· ฐานอัพเกรดเป็นเวอร์ชั่น 2.07
· bignum อัปเกรดเป็นเวอร์ชัน 0.17
· ไบต์ที่อัปเกรดเป็นเวอร์ชัน 1.02
· ปลาคาร์พอัพเกรดเป็นเวอร์ชั่น 1.04
· CGI อัปเกรดเป็นเวอร์ชัน 3.10
· คลาส::ISA อัปเกรดเป็นเวอร์ชัน 0.33
· Data::Dumper อัปเกรดเป็นเวอร์ชัน 2.121_02
· DB_File อัปเกรดเป็นเวอร์ชัน 1.811
· Devel::PPPort อัปเกรดเป็นเวอร์ชัน 3.06
· Digest อัปเกรดเป็นเวอร์ชัน 1.10
· เข้ารหัสที่อัปเกรดเป็นเวอร์ชัน 2.10
· FileCache อัปเกรดเป็นเวอร์ชัน 1.05
· ไฟล์::Path อัปเกรดเป็นเวอร์ชัน 1.07
· ไฟล์::Temp อัปเกรดเป็นเวอร์ชัน 0.16
· IO::ไฟล์อัปเกรดเป็นเวอร์ชัน 1.11
· IO::Socket อัปเกรดเป็นเวอร์ชัน 1.28
· คณิตศาสตร์::BigInt อัปเกรดเป็นเวอร์ชัน 1.77
· คณิตศาสตร์::BigRat อัปเกรดเป็นเวอร์ชัน 0.15
· โอเวอร์โหลดอัปเกรดเป็นเวอร์ชัน 1.03
· PathTools อัปเกรดเป็นเวอร์ชัน 3.05
· Pod::HTML อัปเกรดเป็นเวอร์ชัน 1.0503
· Pod::Perldoc อัปเกรดเป็นเวอร์ชัน 3.14
· Pod::LaTeX อัปเกรดเป็นเวอร์ชัน 0.58
· Pod::Parser อัปเกรดเป็นเวอร์ชัน 1.30
· อัปเกรดสัญลักษณ์เป็นเวอร์ชัน 1.06
· Term::ANSIColor อัปเกรดเป็นเวอร์ชัน 1.09
· ทดสอบ::สายรัดอัพเกรดเป็นเวอร์ชั่น 2.48
· ทดสอบ :: อัปเกรดเป็นเวอร์ชัน 0.54 อย่างง่าย
· ข้อความ::Wrap อัปเกรดเป็นเวอร์ชัน 2001.09293 เพื่อแก้ไขข้อผิดพลาดเมื่อ ห่อ() ถูกเรียกด้วย a
ตัวคั่นที่ไม่ใช่ช่องว่าง
· threads::shared อัปเกรดเป็นเวอร์ชัน 0.93
· เวลา::HiRes อัปเกรดเป็นเวอร์ชัน 1.66
· เวลา :: Local อัปเกรดเป็นเวอร์ชัน 1.11
· Unicode::Normalize อัปเกรดเป็นเวอร์ชัน 0.32
· utf8 อัปเกรดเป็นเวอร์ชัน 1.05
· Win32 อัปเกรดเป็นเวอร์ชัน 0.24 ซึ่งให้ Win32::GetFileVersion
ประโยชน์ การเปลี่ยนแปลง
find2perl ปรับปรุง
"find2perl" มีตัวเลือกใหม่ "-iname", "-path" และ "-ipath"
ประสิทธิภาพ การเพิ่มประสิทธิภาพ
แฮชการแมปตัวชี้ภายในที่ใช้ระหว่างการโคลน ithreads ตอนนี้ใช้อารีน่าสำหรับ
การจัดสรรหน่วยความจำ ในการทดสอบนี้ ลดเวลาในการโคลนของ ithread ลงประมาณ 10%
การติดตั้ง และ องค์ประกอบ การปรับปรุง
· Win32 "dmake" makefile.mk ได้รับการอัปเดตเพื่อให้เข้ากันได้กับรุ่นล่าสุด
เวอร์ชันของ dmake
· ควร "PERL_MALLOC", "DEBUG_MSTATS", "PERL_HASH_SEED_EXPLICIT" และ "NO_HASH_SEED"
ทำงานใน Makefiles ของ Win32
เลือก Bug แก้ไข
· เบ้า() ฟังก์ชันบน Win32 ได้รับการแก้ไขเพื่อให้สามารถใช้การขนส่ง
ผู้ให้บริการที่ระบุโปรโตคอลเป็น 0 (หมายถึงอนุญาตให้ใช้โปรโตคอลใดก็ได้) อีกครั้ง
(สิ่งนี้ใช้งานไม่ได้ใน 5.8.6 และโดยทั่วไปจะทำให้การใช้ซ็อกเก็ต ICMP ล้มเหลว)
· ข้อบกพร่องที่คลุมเครืออีกประการหนึ่งที่เกี่ยวข้องกับ "substr" และ UTF-8 ที่เกิดจากการแคชออฟเซ็ตภายในที่ไม่ดี
ได้รับการระบุและแก้ไข
· แก้ไขข้อผิดพลาดที่เกี่ยวข้องกับการโหลดตาราง UTF-8 โดยเอ็นจิ้น regexp ได้รับการแก้ไขแล้ว - รหัส
เช่น ""\x{100}" =~ /[[:print:]]/" จะไม่ให้ผลลัพธ์ที่เสียหายอีกต่อไป
· การแปลงกรณีเช่น "uc" บนสตริง Unicode แบบยาวอาจทำให้หน่วยความจำหมด
สิ่งนี้ได้รับการแก้ไขแล้ว
· "index"/"rindex" มีปัญหาสำหรับการรวมกันของข้อมูล Unicode และ non-Unicode
สิ่งนี้ได้รับการแก้ไขแล้ว
· "read" (และน่าจะเป็น "sysread") จะเปิดเผย UTF-8 internals เมื่ออ่านจากa
ไฟล์ที่เน้นไบต์จัดการเป็นสเกลาร์ UTF-8 สิ่งนี้ได้รับการแก้ไขแล้ว
· แก้ไขข้อผิดพลาด "pack"/"unpack" หลายรายการ:
· ผลรวมเช็คซัมที่มีรูปแบบ "b" หรือ "B" เสีย
· เช็คซัม "แกะ" อาจล้นด้วยรูปแบบ "C"
· "U0" และ "C0" ถูกกำหนดขอบเขตเป็นเทมเพลตย่อย "()" "pack"
· คำนำหน้าความยาวที่นับแล้วจะไม่เปลี่ยนโหมด "C0"/"U0"
· "แพ็ค" "Z0" ใช้ทำลายอักขระนำหน้า
· รูปแบบ "P"/"p" "pack" ใช้เพื่อจดจำตัวอักษร "undef" เท่านั้น
· การใช้การปิดด้วยเธรดอาจทำให้ Perl ขัดข้อง นี่เป็นเพราะความล้มเหลวในการ
ล็อคโครงสร้าง OP ภายในอย่างถูกต้อง และได้รับการแก้ไขแล้ว
· ค่าส่งคืนของ "ปิด" จะแสดงข้อผิดพลาดของไฟล์ที่เกิดขึ้นในขณะนั้นอย่างถูกต้อง
การล้างข้อมูลของหมายเลขอ้างอิง แทนที่จะเพียงแค่ให้ความล้มเหลวหากข้อมูลอ้างอิงจริง
การดำเนินการปิดไฟล์ล้มเหลว
· "not() || 1" ใช้เพื่อแยกข้อผิดพลาด "not()" ตอนนี้ทำตัวเหมือน ไม่(0) ซึ่งเป็นต้น
พฤติกรรม 5.6.0
· "h2ph" มีการปรับปรุงหลายอย่างเพื่อจัดการกับโครงสร้างในไฟล์ส่วนหัวที่เคย
ส่งผลให้ผลลัพธ์ไม่ถูกต้องหรือไม่ถูกต้อง
ใหม่ or เปลี่ยน การวินิจฉัย
มีข้อผิดพลาดแฝงใหม่ "%ENV นามแฝงเป็น %s" ข้อผิดพลาดนี้เกิดขึ้นเมื่อ taint
การตรวจสอบถูกเปิดใช้งานและเมื่อ *ENV ถูกนามแฝง ดังนั้น %ENV จึงไม่มี env-magic อีกต่อไป
และด้วยเหตุนี้สภาพแวดล้อมจึงไม่สามารถตรวจสอบได้ว่าปราศจากมลทิน
อัปเดตภายในของ "pack" และ "unpack" แล้ว เทมเพลตที่ถูกต้องทั้งหมดควร
ทำงานได้เหมือนเดิม แต่อาจมีการเปลี่ยนแปลงในข้อผิดพลาดที่รายงานสำหรับความล้มเหลวที่ซับซ้อน
กรณี การเปลี่ยนแปลงพฤติกรรมในกรณีที่ไม่มีข้อผิดพลาดถือเป็นจุดบกพร่อง และควรรายงาน
เปลี่ยน internals
มีการรีแฟคเตอร์ของซอร์สโค้ด "C" จำนวนพอสมควร ส่วนหนึ่งเพื่อทำให้เป็น
เป็นระเบียบเรียบร้อยและบำรุงรักษาได้มากขึ้น รหัสวัตถุที่เป็นผลลัพธ์และไบนารี "perl" อาจเป็น
เล็กกว่า 5.8.6 และหวังว่าจะเร็วกว่าในบางกรณี แต่นอกเหนือจากนี้ควร
จะไม่มีการเปลี่ยนแปลงที่ผู้ใช้ตรวจพบ
เพิ่ม "${^UTF8LOCALE}" เพื่อให้พื้นที่ Perl เข้าถึง "PL_utf8locale"
ขนาดของสนามประลองที่ใช้ในการจัดสรรหัว SV และร่าง SV ส่วนใหญ่สามารถเปลี่ยนแปลงได้ที่
รวบรวมเวลา ขนาดเดิมคือ 1008 ไบต์ ขนาดเริ่มต้นใหม่คือ 4080 ไบต์
ที่รู้จักกัน ปัญหา
สตริง Unicode ที่ส่งคืนจากโอเปอเรเตอร์โอเวอร์โหลดอาจเป็นข้อผิดพลาดได้ นี้มันยาวนาน
มีการรายงานบั๊กตั้งแต่ 5.8.6 ถูกปล่อยออกมา แต่เรายังไม่มีการแก้ไขที่เหมาะสม
Platform โดยเฉพาะ ปัญหา
บน UNICOS lib/Math/BigInt/t/bigintc.t หยุดการทำงานของ CPU ext/B/t/bytecode.t และ
ext/Socket/t/socketpair.t การทดสอบล้มเหลวทั้งคู่ สิ่งเหล่านี้ไม่น่าจะได้รับการแก้ไขเนื่องจากเรา
Cray ตัวสุดท้ายของพนักงานขนกระเป๋า UNICOS ที่กล้าหาญกำลังถูกปลดประจำการ
การรายงาน Bugs
หากคุณพบว่าสิ่งที่คุณคิดว่าเป็นข้อบกพร่อง คุณอาจตรวจสอบบทความที่โพสต์ล่าสุดใน
กลุ่มข่าว comp.lang.perl.misc และฐานข้อมูลจุดบกพร่องของ Perl ที่ http://bugs.perl.org. ที่นั่น
อาจจะเป็นข้อมูลที่ http://www.perl.org, หน้าแรกของ Perl
หากคุณเชื่อว่าคุณมีข้อบกพร่องที่ไม่ได้รายงาน โปรดเรียกใช้ เพิร์ลบั๊ก โปรแกรมที่มาพร้อมกับ
การปล่อยตัวของคุณ อย่าลืมตัดแต่งบั๊กของคุณให้เป็นกรณีทดสอบเล็กๆ แต่เพียงพอ ข้อบกพร่องของคุณ
รายงานพร้อมกับผลลัพธ์ของ "perl -V" จะถูกส่งไปที่ [ป้องกันอีเมล] ที่จะ
วิเคราะห์โดยทีม Perl porting คุณสามารถเรียกดูและค้นหาข้อบกพร่องของ Perl 5 ได้ที่
http://bugs.perl.org/
ใช้ perl587delta ออนไลน์โดยใช้บริการ onworks.net