ในการประชุมเสมือนจริงของนักพัฒนาภาษา Perl วันนี้
การเปลี่ยนแปลงที่สำคัญในหมายเลขเวอร์ชันจะทำหน้าที่เป็นตัวคั่นสำหรับการเปลี่ยนไปใช้โมเดลใหม่เพื่อเพิ่มฟังก์ชันการทำงานของภาษา Perl โดยไม่มีการละเมิดความเข้ากันได้แบบย้อนหลังอย่างเห็นได้ชัด
การเปิดตัว Perl 7 คาดว่าจะช่วยดึงดูดนักพัฒนาหน้าใหม่ให้เข้ามาใช้ Perl และช่วยปรับปรุงกระบวนการเพิ่มคุณสมบัติใหม่ที่สำคัญให้กับภาษา ขณะเดียวกันก็รักษาความเข้ากันได้กับฐานโค้ดของโครงการที่มีอยู่ เลือกหมายเลข 7 เพราะ Perl 6 ถูกใช้ในการพัฒนาภาษาที่เป็นอยู่ในปัจจุบัน
การเปลี่ยนแปลงที่โดดเด่นที่สุดใน Perl 7 คือการรวม "
Perl 7 ยังหวังที่จะรักษาเสถียรภาพและเปิดใช้งานคุณลักษณะทดลองบางอย่างที่มีอยู่แล้วเป็นค่าเริ่มต้น เช่น
คู่แข่งที่ถูกปิดการใช้งานโดยค่าเริ่มต้นใน Perl 7 คือ:
- สัญกรณ์การเรียกวัตถุทางอ้อม ("
ไม่มีคุณสมบัติ qw (ทางอ้อม) ") เป็นวิธีดั้งเดิมในการเรียกวัตถุ โดยใช้ช่องว่างแทน "->" ("method $object @param" แทน "$object->$method(@param)") ตัวอย่างเช่น แทนที่จะใช้ “my $cgi = new CGI” คุณจะใช้ “my $cgi = CGI->new” เสมอ - ตัวอธิบายไฟล์เปล่าที่ไม่มีการประกาศตัวแปร ("
ไม่มีคำเปล่า::filehandle ") - การใช้โครงสร้างเช่น "open FH, $file" จะทำให้เกิดข้อผิดพลาด คุณต้องใช้ "open my $fh, $file" การเปลี่ยนแปลงจะไม่ส่งผลกระทบต่อตัวอธิบายไฟล์มาตรฐาน STDIN, STDOUT, STDERR, ARGV, ARGVOUT และ DATA - อาร์เรย์และแฮชหลายมิติแบบ Perl 4 สไตล์ ("
ไม่มีหลายมิติ «)
ตัวอย่างเช่น การระบุ “$hash{1, 2}” จะทำให้เกิดข้อผิดพลาด คุณต้องใช้อาร์เรย์ระดับกลาง เช่น “$hash{join($;, 1, 2)}” - ประกาศต้นแบบในรูปแบบ Perl 4 (คุณต้องใช้ "use :prototype()")
ในแผนที่ห่างไกล พวกเขาคาดว่าจะเปิดใช้งานการสนับสนุน Unicode เป็นค่าเริ่มต้น ซึ่งจะช่วยนักพัฒนาจากการระบุ "ใช้ utf8" ในโค้ด สำหรับโมดูลและสคริปต์ที่มีปัญหากับการตั้งค่าเริ่มต้นใหม่ คุณสามารถเปลี่ยนกลับไปใช้ลักษณะการทำงานของ Perl 5 ได้โดยการเพิ่มบรรทัด "use compat::perl5" ลงในโค้ด การตั้งค่าส่วนบุคคลจะถูกบันทึกและสามารถเปลี่ยนแปลงได้ทีละรายการ
ที่มา: opennet.ru