Perl kesalahan pesan "Apakah anda perlu untuk predeclare katakan?"

Dalam rangka untuk membawa string ke layar dalam bahasa pemrograman Perl memiliki built-in fungsi print. Tapi selain print dan masih memiliki say.

Gunakan say di script

Jika anda hanya mencoba untuk menggunakan say di Perl script, maka akan error. Berikut ini adalah contoh script dengan kesalahan:

▶ Run
#!/usr/bin/perl

say 'Hello';

Jika anda menyimpan kode ini ke file script.pl dan melakukan perl script.pl, layar muncul error:

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.

Dalam rangka untuk tetap mengambil keuntungan dari say anda harus secara eksplisit mengatakan bahwa kita ingin menggunakan fitur ini dari bahasa menggunakan use feature qw(say);. Berikut adalah teks lengkap dari script yang bekerja:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say 'Hello';

Hasil dari script pada layar muncul teks Hello.

Gunakan say di odnotrahniki

Beberapa tugas yang sangat nyaman untuk memecahkan menggunakan Perl odnotrahniki ketika seluruh teks dari program ini adalah tidak dalam file dan lulus dengan nilai parameter -e pada baris perintah.

Tapi jika anda hanya menjalankan perl -e 'say "Hello"', layar muncul error:

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.

Dalam rangka untuk menggunakan say di odnotrahniki anda dapat menggunakan metode yang sama seperti untuk script: menulis pada prompt perintah perl -e 'use feature qw(say); say "Hello"'.

Tapi itu jauh lebih nyaman untuk menggunakan parameter -E adalah -e. Pilihan -E mencakup semua fitur dari bahasa, sehingga peluncuran perl -E 'say "Hello"' menampilkan diharapkan baris Hello.

Artikel lainnya