Pembolehubah khas Perl
Bahasa Perl mentakrifkan beberapa pembolehubah khas, biasanya diawali dengan $, @ atau %, contohnya: $_.
Banyak pembolehubah khas mempunyai nama Inggeris yang panjang Pembolehubah sistem pengendalian $!
Jika anda ingin menggunakan pembolehubah khas dengan nama Inggeris, anda perlu menambah gunakan bahasa Inggeris; pada pengepala program. Ini membolehkan penggunaan pembolehubah khas bahasa Inggeris deskriptif.
Pembolehubah khas yang paling biasa digunakan ialah $_, yang mengandungi input lalai dan kandungan padanan corak. Contohnya adalah seperti berikut:
#!/usr/bin/perl foreach ('Google','php','Taobao') { print $_; print "\n"; }
Laksanakan program di atas, hasil output ialah:
Google php Taobao
Kami tidak menggunakan $_ untuk mengeluarkan kandungan dalam contoh berikut:
#!/usr/bin/perl foreach ('Google','php','Taobao') { print; print "\n"; }< . Dalam gelung berulang, rentetan gelung semasa akan diletakkan dalam $_, dan kemudian dikeluarkan melalui cetakan. Di samping itu, cetakan tidak menyatakan pembolehubah output, dan $_ digunakan secara lalai. Berikut ialah beberapa tempat di mana Perl akan menganggap $_ walaupun tidak dinyatakan: Pelbagai fungsi unary, termasuk perkara seperti ord() dan int( ) Fungsi sedemikian dan semua operasi ujian fail ("-f", "-d") kecuali "-t", yang mengendalikan STDIN secara lalai.
- Pelbagai fungsi senarai seperti print() dan unlink().
- Operasi padanan corak "m//", "s///" dan "tr///" tanpa menggunakan operator "=~".
- ialah pembolehubah lelaran lalai untuk gelung "foreach" apabila tiada pembolehubah lain diberikan.
- Pembolehubah lelaran tersirat untuk fungsi grep() dan map().
- Apabila "while" hanya mempunyai satu syarat, dan syarat tersebut menguji hasil operasi "", $_ ialah lokasi lalai untuk menyimpan rekod input. Ini tidak berlaku kecuali dalam keadaan ujian "semasa". (Mnemonik: Garis bawah boleh dikecualikan dalam operasi tertentu.)
- Jenis pembolehubah khas
Mengikut sifat penggunaan pembolehubah khas, ia boleh dibahagikan ke dalam Kategori berikut: Pembolehubah khas skalar global.
- Pembolehubah khas tatasusunan global.
- Pembolehubah khas cincang global.
- Pemegang fail khas global.
- Pemalar khas global.
- Pembolehubah khas ungkapan biasa.
- Pengendalian fail pembolehubah khas.
- Pembolehubah khas skalar global
$_ | Input lalai dan kandungan padanan corak. |
$ARG | |
$. | Nombor baris semasa pemegang fail terakhir dibaca |
$NR | |
$/ | Masukkan pemisah rekod, lalai ialah aksara baris baharu. Jika anda menggunakan pembolehubah undef, penghujung fail akan dibaca. |
$RS | |
$, | Output domain pemisah |
$ OFS | |
$ | Pemisah rekod output |
$ORS | |
$ " | Pembolehubah ini serupa dengan $, tetapi harus digunakan untuk menginterpolasi nilai tatasusunan dan menghiris ke dalam rentetan petikan dua kali (atau rentetan interpolasi serupa). Lalai kepada ruang. |
$LIST_SEPARATOR | |
$; | Pemisah yang digunakan semasa mensimulasikan tatasusunan berbilang dimensi menjadi lalai kepada ". |
$OFMT | |
$? | Mengembalikan status perintah luaran terakhir |
$CHILD_ERROR | |
$! | Nilai berangka pembolehubah ini ialah nilai errno dan nilai rentetan ialah rentetan ralat sistem yang sepadan |
$OS_ERROR atau $ERRNO | |
$@ | Mesej ralat perintah eval arahan eval terakhir telah berjaya dilaksanakan |
$EVAL_ERROR | |
$$ | Nombor proses yang menjalankan skrip Perl semasa |
$PROCESS_ID atau $PID | |
$< | ID pengguna sebenar proses semasa |
$REAL_USER_ID atau $UID | |
$> | ID pengguna yang berkesan bagi proses semasa |
$EFFECTIVE_USER_ID atau $EUID | |
$( | ID pengguna kumpulan sebenar proses semasa |
$ REAL_GROUP_ID atau $GID | |
$) | ID pengguna kumpulan yang berkesan bagi proses semasa |
$EFFECTIVE_GROUP_ID atau $EGID | |
$0 | Mengandungi nama fail skrip yang sedang dilaksanakan |
$PROGRAM_NAME | |
$[ | Susun tatasusunan Subskrip elemen, yang lalai kepada 0. |
$] | Nombor versi Perl |
$PERL_VERSION | |
$^D | Nilai bendera nyahpepijat |
$DEBUGGING | |
$^E | Mesej ralat lanjutan OS dalam persekitaran bukan UNIX |
$EXTENDED_OS_ERROR | |
$^F | Nilai deskriptor berkas fail maksimum |
$SYSTEM_FD_MAX | |
$^H | Status semakan sintaks diaktifkan oleh pengkompil |
$^I | Kawalan terbina dalam Nilai editor |
$INPLACE_EDIT | |
$^M | Saiz kolam memori sandaran |
$^O | Nama Sistem Pengendalian |
$OSNAME | |
$^P | Pembolehubah dalaman yang menyatakan nilai nyahpepijat semasa |
$PERLDB | |
$^T | Bermula dari awal abad baru, masa dalam beberapa saat apabila skrip mula berjalan |
$BASETIME | |
$^W | Nilai semasa suis amaran |
$WARNING | |
$^X | Nama Kod boleh laku binari Perl |
$EXECUTABLE_NAME | |
$ARGV | Nama fail semasa semasa membaca daripada pemegang fail lalai |
Pembolehubah khas tatasusunan global
@ARGV
| Senarai parameter baris arahan yang dihantar kepada skrip
| @INC<🎜> | Senarai direktori yang perlu dicari semasa mengimport modul<🎜><🎜><🎜> | @F<🎜 > | Input tatasusunan daripada baris arahan<🎜><🎜><🎜><🎜><🎜>Pembolehubah khas hash global<🎜>
|