Câu hỏi Tại sao Perl không sử dụng phiên bản mới nhất theo mặc định?


Khi tôi cố gắng sử dụng các tính năng perl mới (như "nói" thay vì "in") mã không thành công cho đến khi tôi đặt vào dòng "use 5.014;" và sau đó mọi thứ đều chạy.

Phiên bản cài đặt perl được cài đặt của tôi là 5.14.2 và có vẻ như là nhị phân duy nhất tôi đã cài đặt, tại sao các tính năng mới không được sử dụng theo mặc định?

Cảm ơn!


4
2018-01-17 23:11


gốc




Các câu trả lời:


Các tính năng mới trong Perl không được bật, theo mặc định, vì các lý do tương thích ngược.

Từ perdoc.perl.org:

Điều này thường hữu ích nếu bạn cần kiểm tra phiên bản Perl hiện tại trước khi sử dụng các mô-đun thư viện sẽ không hoạt động với các phiên bản cũ của Perl. (Chúng tôi cố gắng không làm điều này nhiều hơn chúng ta phải làm.)

Ngoài ra, nếu phiên bản Perl được chỉ định lớn hơn hoặc bằng 5.9.5, hãy sử dụng VERSION cũng sẽ tải pragma tính năng và bật tất cả các tính năng có sẵn trong phiên bản được yêu cầu. Xem đặc tính.

Tương tự, nếu phiên bản Perl được chỉ định lớn hơn hoặc bằng 5.11.0, các mức độ nghiêm ngặt được kích hoạt từ từ như với việc sử dụng nghiêm ngặt (ngoại trừ tệp strict.pm không thực sự được tải).

Phiên bản mới hơn của Perl chưa được phê duyệt / cam kết cho 12.04, 12.10 hoặc thậm chí là 13.10. Xem trang Ubuntu chính cho Perl đây. Tuy nhiên, nó trông giống như có một số hoạt động với công việc tiến lên với Perl 5.17.

Bạn có thể cài đặt từ nguồn, nhưng tôi sẽ không khuyên bạn nên đi trên hệ thống cài đặt Perl. Thay vào đó, tôi khuyên bạn nên cài đặt phiên bản hộp cát bằng cách sử dụng PerlBrew.


4
2018-01-21 01:17