Beberapa variabel khusus didefinisikan dalam bahasa Perl, biasanya diawali dengan $, @, atau %, misalnya: $_.
Banyak variabel khusus yang memiliki nama bahasa Inggris yang panjang. Variabel sistem operasi $! dapat ditulis sebagai $OS_ERROR.
Jika Anda ingin menggunakan variabel khusus dengan nama bahasa Inggris, Anda perlu menambahkan use English di bagian atas program. Hal ini memungkinkan penggunaan variabel khusus deskriptif bahasa Inggris.
Variabel khusus yang paling umum digunakan adalah $_, yang berisi input default dan konten pencocokan pola. Contohnya adalah sebagai berikut:
Dengan mengeksekusi program di atas, hasil keluarannya adalah:
GoogleCoderctoTaobao
Dalam contoh berikut kami tidak menggunakan $_ untuk menampilkan konten:
Dengan mengeksekusi program di atas, hasil keluarannya adalah:
GoogleCoderctoTaobao
Dalam contoh, "Google" adalah keluaran pertama, kemudian "Codercto" adalah keluaran, dan terakhir "Taobao" adalah keluaran.
Dalam perulangan berulang, string dari perulangan saat ini akan ditempatkan di $_, dan kemudian dikeluarkan melalui pencetakan. Selain itu, print tidak menentukan variabel keluaran, dan $_ digunakan secara default.
Berikut adalah beberapa tempat di mana Perl akan menganggap $_ meskipun tidak ditentukan:
Berbagai fungsi unary, termasuk fungsi seperti ord() dan int() dan semua operasi pengujian file ("-f", "-d") kecuali "-t", yang beroperasi pada STDIN secara default.
Berbagai fungsi daftar seperti print() dan unlink().
Operasi pencocokan pola "m//", "s///" dan "tr///" tanpa operator "=~".
Variabel iterasi default untuk loop "foreach" ketika tidak ada variabel lain yang diberikan.
Variabel iterasi implisit untuk fungsi grep() dan map().
Ketika "sementara" hanya memiliki satu kondisi, dan kondisi tersebut menguji hasil operasi "", $_ adalah lokasi default untuk rekaman input. Hal ini tidak terjadi kecuali pada kondisi pengujian "sementara". (Mnemonik: Garis bawah dapat dihilangkan dalam operasi tertentu.)
Berdasarkan sifat penggunaan variabel khusus, variabel tersebut dapat dibagi menjadi beberapa kategori berikut:
Variabel khusus skalar global.
Variabel khusus array global.
Variabel khusus hash global.
Pegangan file khusus global.
Konstanta khusus global.
Variabel khusus ekspresi reguler.
File menangani variabel khusus.
Berikut ini daftar semua variabel khusus skalar, termasuk variabel dengan karakter khusus dan bentuk bahasa Inggris:
$_ | Input default dan konten pencocokan pola. |
$ARG | |
$. | Nomor baris saat ini dari pegangan file yang terakhir dibaca |
$NR | |
$/ | Masukkan pemisah rekaman, yang defaultnya adalah karakter baris baru. Jika Anda menggunakan variabel undef, akhir file akan dibaca. |
$RS | |
$, | Pemisah bidang keluaran |
$OFS | |
$ | Pemisah rekaman keluaran |
$ATAU | |
$" | Variabel ini mirip dengan $, tetapi harus digunakan untuk menginterpolasi array dan mengiris nilai menjadi string dengan tanda kutip ganda (atau string interpolasi serupa). Defaultnya adalah satu spasi. |
$DAFTAR_SEPARATOR | |
$; | Pembatas digunakan saat mensimulasikan array multidimensi. Standarnya adalah " |