Perl lỗi "bạn có cần phải predeclare nói không?"

Để mang lại những chuỗi các màn hình trong Perl ngôn ngữ đã được tích hợp trong chức năng print. Nhưng ở ngoài print và vẫn còn có say.

Sử dụng say trong kịch bản

Nếu anh chỉ cần cố gắng để sử dụng say trong Perl, nó sẽ lỗi. Đây là một ví dụ kịch bản với các lỗi:

▶ Run
#!/usr/bin/perl

say 'Hello';

Nếu bạn tiết kiệm mã này như một tập tin script.pl và thực hiện perl script.pl, màn hình xuất hiện lỗi:

String found where operator expected at script.pl line 3, near "say 'Hello'"
    (Do you need to predeclare say?)
syntax error at script.pl line 3, near "say 'Hello'"
Execution of script.pl aborted due to compilation errors.

Để vẫn có lợi thế của các say , bạn cần phải nói rõ ràng rằng chúng tôi muốn sử dụng năng của ngôn ngữ bằng cách sử dụng use feature qw(say);. Đây là đầy đủ các văn bản của kịch bản mà hoạt động:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say 'Hello';

Các kết quả của kịch bản — trên màn hình xuất hiện các văn bản Hello.

Sử dụng say trong odnotrahniki

Một nhiệm vụ rất thuận tiện để giải quyết bằng cách sử dụng Perl odnotrahniki khi toàn bộ văn bản của các chương trình không được trong các tập tin và thông qua các thông số giá trị -e trên dòng lệnh.

Nhưng nếu anh chỉ cần chạy perl -e 'say "Hello"', màn hình xuất hiện lỗi:

String found where operator expected at -e line 1, near "say "Hello""
    (Do you need to predeclare say?)
syntax error at -e line 1, near "say "Hello""
Execution of -e aborted due to compilation errors.

Để sử dụng say trong odnotrahniki bạn có thể sử dụng những phương pháp tương tự như cho các kịch bản: viết tại lệnh perl -e 'use feature qw(say); say "Hello"'.

Nhưng nó là thuận tiện hơn nhiều để sử dụng, các thông số -E-e. Lựa chọn -E bao gồm cả các chức năng của các ngôn ngữ, để khởi động perl -E 'say "Hello"' hiển thị các dự kiến đường Hello.

Các bài viết khác