นี่คือคำสั่ง perl5122delta ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
perl5122delta - มีอะไรใหม่สำหรับ perl v5.12.2
DESCRIPTION
เอกสารนี้อธิบายความแตกต่างระหว่างรุ่น 5.12.1 และรุ่น 5.12.2
หากคุณกำลังอัปเกรดจากเวอร์ชันหลักก่อนหน้า เช่น 5.10.1 ให้อ่านก่อน
perl5120delta ซึ่งอธิบายความแตกต่างระหว่าง 5.10.1 และ 5.12.0 เช่นเดียวกับ
perl5121delta ซึ่งอธิบายการเปลี่ยนแปลงก่อนหน้านี้ในซีรีย์รีลีสที่เสถียร 5.12
เข้ากันไม่ได้ การเปลี่ยนแปลง
ไม่มีการเปลี่ยนแปลงโดยเจตนาที่เข้ากันไม่ได้กับ 5.12.1 ถ้ามีก็แมลง
และรายงานยินดีต้อนรับ
แกน การเพิ่มประสิทธิภาพ
นอกเหนือจากการแก้ไขจุดบกพร่องที่แสดงด้านล่าง ไม่ควรมีการเปลี่ยนแปลงที่ผู้ใช้มองเห็นได้ในคอร์
ภาษาในรุ่นนี้
โมดูล และ ในทางปฏิบัติ
ใหม่ โมดูล และ ในทางปฏิบัติ
รุ่นนี้ไม่ได้แนะนำโมดูลหรือ Pragmata ใหม่
ในทางปฏิบัติ การเปลี่ยนแปลง
ในรุ่นก่อนหน้า "ไม่ รุ่น;" คำสั่งทำให้เกิดข้อผิดพลาดซึ่งอาจทำให้เกิด
ชุดคุณลักษณะที่จะโหลดและโหมดเข้มงวดที่จะเปิดใช้งานโดยไม่ได้ตั้งใจ
วันที่อัพเดท โมดูล
"ปลาคาร์พ"
อัปเกรดจากเวอร์ชัน 1.16 เป็น 1.17
ปลาคาร์พตรวจพบว่าไม่สมบูรณ์ ผู้โทร () แทนที่และหลีกเลี่ยงการใช้ @DB::args ปลอม ถึง
ให้ backtraces ปลาคาร์พอาศัยเฉพาะพฤติกรรมของผู้โทรในตัว ปลาคาร์พ
ตอนนี้ตรวจพบว่ารหัสอื่นได้แทนที่สิ่งนี้ด้วยการใช้งานที่ไม่สมบูรณ์และ
ปรับเปลี่ยน backtrace ของมันตามลำดับ การแทนที่ที่ไม่สมบูรณ์ก่อนหน้านี้จะทำให้
ค่าที่ไม่ถูกต้องในการติดตามย้อนกลับ (กรณีที่ดีที่สุด) หรือข้อผิดพลาดร้ายแรงที่ไม่ชัดเจน (กรณีที่เลวร้ายที่สุด)
การดำเนินการนี้แก้ไขบางกรณีของ "สำเนาที่แปลกประหลาดของ ARRAY" ที่เกิดจากการแทนที่โมดูล
"ผู้โทร ()" ไม่ถูกต้อง
“CPANPLUS”
แพทช์เพื่อ cpanp-รัน-perl ได้รับ backported จาก CPANPLUS 0.9004 วิธีนี้จะช่วยแก้ปัญหา RT
#55964http://rt.cpan.org/Public/Bug/Display.html?id=55964> และ RT #57106
<http://rt.cpan.org/Public/Bug/Display.html?id=57106> ซึ่งทั้งคู่เกี่ยวข้องกับ
ความล้มเหลวในการติดตั้งการแจกแจงที่ใช้ "Module::Install::DSL"
"ไฟล์::โลก"
การถดถอยที่ทำให้เกิดความล้มเหลวในการค้นหา "CORE::GLOBAL::glob" หลังจากโหลด
แก้ไขข้อผิดพลาด "File::Glob" แล้ว ตอนนี้มันตกกลับไปที่ภายนอกอย่างถูกต้อง
globbing ผ่าน "pp_glob"
"ไฟล์::คัดลอก"
"File::Copy::copy(FILE, DIR)" ได้รับการบันทึกแล้ว
"ไฟล์::ข้อมูลจำเพาะ"
อัปเกรดจากเวอร์ชัน 3.31 เป็น 3.31_01
มีการแก้ไขการพกพาหลายอย่างใน "File::Spec::VMS": ขณะนี้ระบบรู้จักโคลอนเป็น
ตัวคั่นใน filespecs ดั้งเดิม; ตัวคั่นที่หนีด้วยคาเร็ตได้รับการยอมรับให้ดีขึ้น
การจัดการ filespecs แบบขยาย; "catpath()" ส่งคืนไดเร็กทอรีว่างแทนที่จะเป็น
ไดเร็กทอรีปัจจุบันหากชื่อไดเร็กทอรีอินพุตว่างเปล่า "abs2rel()" จัดการอย่างถูกต้อง
อินพุตสไตล์ยูนิกซ์
ประโยชน์ การเปลี่ยนแปลง
· เพิร์ลบั๊ก ตอนนี้ให้โอกาสนักข่าวเปลี่ยนที่อยู่อีเมลที่คาดเดาเสมอ
สำหรับพวกเขา
· เพิร์ลบั๊ก ไม่ควรเตือนเกี่ยวกับค่าที่ไม่ได้กำหนดค่าเริ่มต้นอีกต่อไปเมื่อใช้ "-d" และ "-v"
ตัวเลือก
การเปลี่ยนแปลง ไปยัง ที่มีอยู่ เอกสาร
· เพิ่มนโยบายที่มีอยู่เกี่ยวกับความเข้ากันได้ย้อนหลังและการเลิกใช้งานลงใน
perlpolicy พร้อมกับคำจำกัดความของคำศัพท์เช่น การเลิกใช้งาน.
· "srand" ในการใช้งานของ perlfunc ได้รับการชี้แจงแล้ว
· รายการสำหรับ "ตาย" ใน perlfunc ได้รับการจัดระเบียบใหม่เพื่อเน้นบทบาทของมันในข้อยกเว้น
กลไก.
· ไฟล์ INSTALL ของ Perl ได้รับการชี้แจงเพื่อระบุอย่างชัดเจนว่า Perl ต้องใช้ C89
คอมไพเลอร์ ANSI C ที่สอดคล้อง
· IO::Socket "getsockopt()" และ "setsockopt()" ของ IO::Socket ได้รับการบันทึกไว้แล้ว
· เตือน()การไม่สามารถขัดจังหวะการบล็อก IO บน Windows ได้รับการบันทึกไว้แล้ว
· Math::TrulyRandom ยังไม่ได้รับการอัปเดตตั้งแต่ปี 1996 และถูกลบออกตามคำแนะนำแล้ว
โซลูชันสำหรับการสร้างตัวเลขสุ่ม
· perlrun ได้รับการอัปเดตเพื่อชี้แจงพฤติกรรมของแฟล็กฐานแปดถึง Perl.
· เพื่อลดความสับสนของผู้ใช้ $# และ $* สองตัวแปรพิเศษที่ถูกลบออกไปก่อนหน้านี้
เวอร์ชันของ Perl ได้รับการบันทึกไว้แล้ว
· เวอร์ชันของ perlfaq ที่มาพร้อมกับ Perl core ได้รับการอัปเดตจากทางการ
เวอร์ชันคำถามที่พบบ่อย ซึ่งขณะนี้ได้รับการดูแลในสาขา "briandfoy/perlfaq" ของ Perl
ที่เก็บที่ .
การติดตั้ง และ องค์ประกอบ การปรับปรุง
องค์ประกอบ การปรับปรุง
· โพรบการกำหนดค่า "d_u32align" บน ARM ได้รับการแก้ไขแล้ว
การรวบรวม การปรับปรุง
· ข้อผิดพลาด "" ประเภทตัวถูกดำเนินการที่เข้ากันไม่ได้"" ในนิพจน์ที่ประกอบไปด้วย
"clang" ได้รับการแก้ไขแล้ว
· Perl ข้ามการทดสอบ setuid "File::Copy" บนพาร์ติชั่นที่ตรวจพบว่าติดตั้งเป็น
"นอสอิด".
เลือก Bug แก้ไข
· segfault ที่เป็นไปได้ใน typemap เริ่มต้น "T_PRTOBJ" ได้รับการแก้ไขแล้ว
· หน่วยความจำอาจรั่วเมื่อใช้ ผู้โทร () การตั้งค่า @DB::args ได้รับการแก้ไขแล้ว
· หน่วยความจำรั่วหลายครั้งเมื่อโหลดโมดูล XS ได้รับการแก้ไขแล้ว
· ตอนนี้ "unpack()" จัดการบริบทสเกลาร์อย่างถูกต้องสำหรับ %32H และ %32u ซึ่งแก้ไขศักยภาพ
ชน. "split()" จะหยุดทำงานเนื่องจากรายการที่สามในสแต็กไม่ใช่รายการปกติ
การแสดงออกที่คาดไว้ "unpack("%2H", ...)" จะส่งคืนทั้งผลลัพธ์ที่คลายการแพ็ก
และเช็คซัมบนสแต็ก เช่นเดียวกับ "unpack("%2u", ...)" [เพิร์ล #73814]
<http://rt.perl.org/rt3/Ticket/Display.html?id=73814>
· Perl หลีกเลี่ยงการใช้หน่วยความจำหลังจากเรียก "free()" ใน pp_ต้องการ เมื่อมี
CODEREF ใน @INC
· ข้อบกพร่องที่อาจทำให้เกิดข้อความ ""ข้อผิดพลาดที่ไม่รู้จัก"" เมื่อ ""call_sv(code, G_EVAL)"" เป็น
การเรียกจาก XS destructor ได้รับการแก้ไขแล้ว
· การนำคุณลักษณะ "open $fh, '>' \$buffer" ไปใช้สนับสนุนการ get/set magic
และผูกบัฟเฟอร์อย่างถูกต้อง
· ตอนนี้ opcodes "pp_getc", "pp_tell" และ "pp_eof" ทำให้มีที่ว่างบนสแต็กสำหรับ
ส่งคืนค่าในกรณีที่ไม่มีการส่งอาร์กิวเมนต์
· เมื่อจับคู่สตริง Unicode ภายใต้เงื่อนไขบางประการ จะทำให้ backtracking ไม่เหมาะสม
ส่งผลให้เกิดข้อผิดพลาด "อักขระ UTF-8 ที่มีรูปแบบไม่ถูกต้อง (ร้ายแรง)" สิ่งนี้ไม่ควรเกิดขึ้นอีกต่อไป
ดู [เพิร์ล #75680]http://rt.perl.org/rt3/Public/Bug/Display.html?id=75680>
ระบบปฏิบัติการ โดยเฉพาะ หมายเหตุ :
AIX
· README.aix ได้รับการอัปเดตด้วยข้อมูลเกี่ยวกับชุดคอมไพเลอร์ XL C/C++ V11
Windows
· เมื่อสร้าง Perl ด้วยคอมไพเลอร์ข้าม mingw64 x64 "incpath", "libpth", "ldflags"
ค่า "lddlflags" และ "ldflags_nolargefiles" ใน กำหนดค่า น และ Config_heavy.pl คือ
ก่อนหน้านี้ไม่ได้ตั้งค่าอย่างถูกต้องเพราะด้วยคอมไพเลอร์นั้น การรวม และ lib
ไดเร็กทอรีไม่อยู่ใต้ "$(CCHOME)" ทันที
VMS
· git_version.h ติดตั้งบน VMS แล้ว นี่คือการกำกับดูแลใน v5.12.0 ซึ่งทำให้
ส่วนขยายบางอย่างไม่สามารถสร้างได้
· หน่วยความจำรั่วหลายครั้งใน สถิติ () ได้รับการแก้ไขแล้ว
· หน่วยความจำรั่วใน "Perl_rename()" เนื่องจากการจัดสรรสองครั้งได้รับการแก้ไขแล้ว
· หน่วยความจำรั่วใน "vms_fid_to_name()" (ใช้โดย "realpath()" และ "realname()")
คงที่
กิตติกรรมประกาศ
Perl 5.12.2 แสดงถึงการพัฒนาประมาณสามเดือนตั้งแต่ Perl 5.12.1 และ
มีการเปลี่ยนแปลงประมาณ 2,000 บรรทัดใน 100 ไฟล์จากผู้เขียน 36 คน
Perl เติบโตอย่างต่อเนื่องในทศวรรษที่สามด้วยชุมชนผู้ใช้ที่มีชีวิตชีวา
และนักพัฒนา เป็นที่ทราบกันดีว่าบุคคลต่อไปนี้มีส่วนในการปรับปรุงที่
กลายเป็น Perl 5.12.2:
อบิเกล, AEvar Arnfjoer` Bjarmason, Ben Morrow, brian d foy, Brian Phillips, Chas. โอเวนส์
Chris 'BinGOs' Williams, Chris Williams, Craig A. Berry, Curtis Jewell, แดน ดาสเกลสคู,
เดวิด โกลเดน, เดวิด มิทเชลล์, คุณพ่อคริสซอสโตมอส, ฟลอเรียน แร็กวิทซ์, จอร์จ เกรียร์, เอช. เมริจน์
แบรนด์, แจน ดูบัวส์, เจสซี่ วินเซนต์, จิม โครมี, คาร์ล วิลเลียมสัน, ลาร์ส DXXXXXX XXX, ลีออน
โบรการ์ด, ไมค์ เฮนท์เช่, แมตต์ เอส เทราต์, นิโคลัส คลาร์ก, ราฟาเอล การ์เซีย-ซัวเรซ, เรนเนอร์ แทมเมอร์,
ริคาร์โด้ ซิญเนส, ซัลวาดอร์ ออร์ติซ การ์เซีย, ซิซิฟัส, สลาเวน เรซิช, สเตฟเฟน มูลเลอร์, โทนี่ คุก,
วินเซนต์ พิท และอีฟ ออร์ตัน
การรายงาน Bugs
หากคุณพบว่าสิ่งที่คุณคิดว่าเป็นข้อบกพร่อง คุณอาจตรวจสอบบทความที่โพสต์ล่าสุดใน
กลุ่มข่าว comp.lang.perl.misc และฐานข้อมูลจุดบกพร่องของ Perl ที่ http://rt.perl.org/perlbug/ .
อาจมีข้อมูลได้ที่ http://www.perl.org/ , หน้าแรกของ Perl
หากคุณเชื่อว่าคุณมีข้อบกพร่องที่ไม่ได้รายงาน โปรดเรียกใช้ เพิร์ลบั๊ก โปรแกรมที่มาพร้อมกับ
การปล่อยตัวของคุณ อย่าลืมตัดแต่งบั๊กของคุณให้เป็นกรณีทดสอบเล็กๆ แต่เพียงพอ ข้อบกพร่องของคุณ
รายงานพร้อมกับผลลัพธ์ของ "perl -V" จะถูกส่งไปที่ [ป้องกันอีเมล] ที่จะ
วิเคราะห์โดยทีม Perl porting
หากจุดบกพร่องที่คุณกำลังรายงานมีนัยด้านความปลอดภัย ซึ่งทำให้ไม่เหมาะสมต่อ
ส่งไปยังรายชื่อผู้รับจดหมายที่เก็บถาวรแล้วกรุณาส่งไปที่
[ป้องกันอีเมล]. สิ่งนี้ชี้ไปที่การสมัครรับข้อมูลแบบปิด
ซึ่งรวมถึงผู้ให้คำมั่นหลักทั้งหมด ซึ่งจะสามารถช่วยประเมินผลกระทบได้
ของปัญหา หาแนวทางแก้ไข และช่วยประสานงานการออกแพตช์เพื่อ
บรรเทาหรือแก้ไขปัญหาในทุกแพลตฟอร์มที่รองรับ Perl ได้โปรดเท่านั้น
ใช้ที่อยู่นี้สำหรับปัญหาด้านความปลอดภัยใน Perl core ไม่ใช่สำหรับโมดูลอย่างอิสระ
เผยแพร่บน CPAN
ใช้ perl5122delta ออนไลน์โดยใช้บริการ onworks.net