Chuỗi #!/usr/bin/perl trong Perl

Rất thường, bạn có thể thấy rằng dòng đầu tiên trong Perl là #!/usr/bin/perl.

Đây là một ví dụ của chương trình rất đơn giản trong Perl:

▶ Run
#!/usr/bin/perl

print 'Hello';

Nếu bạn cứu văn bản này như một tập tin script.pl, và sau đó thực hiện những điều khiển perl script.pl, màn hình xuất hiện Hello.

Thú vị nhất là nếu để hủy bỏ từ một tập tin script.pl dòng #!/usr/bin/perl (chỉ viết một dòng print 'Hello';) và chạy mã này sử dụng perl script.pl, kết quả sẽ là chính xác như vậy — trên màn hình xuất hiện Hello.

Lệnh trong những điều khiển perl script.pl nói bạn phải chạy thông dịch viên perlvà một cuộc tranh luận để cho anh ta một dòng script.pl (tên của các tập tin với các chương trình mã). Khi chạy theo cách này, nó không có vấn đề nếu các tập tin script.pl dòng đầu tiên #!/usr/bin/perl hoặc không phải. Hệ thống bắt đầu perl, và chương trình này có một văn bản tập tin nhắn chương trình trong Perl ngôn ngữ.

Nhưng đội perl script.pl không phải là cách duy nhất làm thế nào để chạy Perl. Một lựa chọn khác là để làm cho tập tin này thực thi và thực hiện nó.

Một lần nữa đi, các văn bản, trong đó có một người đặc biệt, dòng đầu tiên:

▶ Run
#!/usr/bin/perl

print 'Hello';

Cứu văn bản này như một tập tin script.pl và chạy trong những điều khiển:

$ chmod a+x script.pl
$ ./script.pl
Hello

Lệnh chmod a+x script.pl chúng tôi thiết lập các tập tin cờ rằng nó là một tập tin thực thi (thực thi). Và sau đó, với sự chỉ huy ./script.pl nói rằng họ muốn thực hiện một tập tin script.pl, đó là trong hiện tại mục (mục hiện tại hiện bởi một dấu chấm, và /— đây là tách giữa mục tin tên).

Khi bạn bắt đầu ./script.pl điều quan trọng là dòng đầu tiên trong các tập tin đã được #!/usr/bin/perl. Nếu chúng ta sẽ quét sạch dòng này từ các tập tin và cố gắng chạy nó ./script.pl, chúng tôi nhận được lỗi:

$ ./script.pl
./script.pl: line 1: print: command not found

Khi Perl chạy như ./script.pl là hàng đầu tiên trong các tập tin phải được #!/usr/bin/perl.

Khi chúng tôi chạy các tập tin thực thi của chương trình sử dụng ./script.pl, hệ thống bằng cách nào đó cần phải hiểu những gì bạn cần phải chạy mã này (Mac, và bị nơi này không đừng nhìn xuống các tập tin mở rộng). Đó chỉ là để đảm bảo điều này sự hiểu biết và được sử dụng đây là lần đầu tiên trong một dạng đặc biệt. Tản nhiệt chấm than, và sau đó các đường dẫn đầy đủ để phiên dịch đó để chạy mã.

Nếu bạn không xác định tập tin dòng #!/usr/bin/perl và thực hiện các mã sử dụng ./script.pl, hệ thống sẽ giả định rằng mã được viết trong vỏ mà bạn làm việc (ví dụ, bash) và cố gắng chạy chương trình trong ngôn ngữ Perl như văn bản này, trên bash.

Đặc biệt này chuỗi không được các chi tiết cụ thể của Perl lập các đặc trưng của hệ thống. Cho ngôn ngữ lập trình khác cũng có một dòng tương tự #!/usr/bin/python, #!/usr/bin/lua , etc.

Tổng đề nghị — dòng đầu tiên trong Perl nên luôn luôn được #!/usr/bin/perl.

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