Perl adalah bahasa pemrosesan data teks yang sangat kuat.
Di Perl, Anda bisa menggunakan format untuk menentukan templat, lalu menggunakan tulis untuk mengeluarkan data sesuai dengan templat yang ditentukan.
Sintaks definisi pemformatan Perl adalah sebagai berikut:
format FormatNama =fieldlinevalue_one, value_two, value_threefieldlinevalue_one, value_two.
Analisis parameter:
FormatName : Nama yang diformat.
fieldline : Garis format yang digunakan untuk menentukan format baris keluaran, dengan karakter seperti @,^,,|.
value_one, value_two... : Baris data, digunakan untuk memasukkan nilai ke dalam baris format sebelumnya, semuanya adalah variabel Perl.
. : simbol akhir.
Berikut ini adalah contoh pemformatan sederhana:
Hasil keluaran dari mengeksekusi contoh di atas adalah:
pertama: googlekedua: coderctoketiga: taoba
Baris format dimulai dengan @ atau ^, dan tidak ada substitusi variabel yang dilakukan pada baris ini.
Bidang @ (jangan bingung dengan simbol array @) adalah bidang biasa.
Panjang <, >,|. setelah @,^ menentukan panjang bidang. Jika variabel melebihi panjang yang ditentukan, maka akan terpotong.
<, >,|. juga masing-masing mewakili perataan kiri, perataan kanan, dan perataan tengah.
Bidang ^ digunakan untuk padding blok teks multi-baris.
Format rentang nilai seperti yang ditunjukkan pada tabel berikut:
Format | Arti rentang nilai |
---|---|
@<<< | keluaran rata kiri |
@>>> | Output yang dibenarkan dengan benar |
@||| | Keluaran rata tengah |
@##.## | nomor presisi tetap |
@* | teks multibaris |
Karakter pertama dari setiap bidang nilai adalah karakter pengisi baris. Jika karakter @ digunakan, tidak ada pemformatan teks yang dilakukan.
Pada tabel di atas, kecuali untuk bidang nilai multi-baris @*, lebar bidang sama dengan jumlah karakter yang ditentukan termasuk karakter @, misalnya:
@###.##
Artinya lebarnya tujuh karakter, empat sebelum koma desimal dan dua setelah koma desimal.
Contohnya adalah sebagai berikut:
Hasil keluaran dari contoh di atas adalah:
=====Ali 20 2000.00============ ==================== ========Kode ke 30 2500,00===== = ======Jaffer 40 4000,00=========== = =========
$~ ($FORMAT_NAME): Nama format $^ ($FORMAT_TOP_NAME): Nama format header saat ini disimpan di
$% ($FORMAT_PAGE_NUMBER): nomor halaman keluaran saat ini
$= ($FORMAT_LINES_PER_PAGE) : Jumlah baris di setiap halaman
$|. ($FORMAT_AUTOFLUSH): Apakah akan secara otomatis menyegarkan penyimpanan buffer keluaran
$^L ($FORMAT_FORMFEED): String yang perlu dikeluarkan sebelum header setiap halaman (kecuali halaman pertama) disimpan di
Berikut ini adalah contoh pemformatan sederhana menggunakan $~:
Hasil keluaran dari mengeksekusi contoh di atas adalah:
=== Teks #Tutorial Coder============ = =================================== === Teks #Tutorial Coder====
Jika $~ tidak ditentukan, format bernama STDOUT akan dihasilkan:
Hasil keluaran dari mengeksekusi contoh di atas adalah:
----------------Format STDOUT----------------
Pada contoh berikut, kami mendemonstrasikan penggunaan variabel $^ atau $FORMAT_TOP_NAME dengan menambahkan informasi header laporan:
Hasil keluaran dari contoh di atas adalah:
=====Nama Usia============= = ===== = =======Ali 20 2000.00========== === ===============Codercto 30 2500,00===== = ======Jaffer 40 4000,00=========== = =========
Kita juga dapat menggunakan $% atau $FORMAT_PAGE_NUMBER untuk mengatur penomoran halaman laporan:
Hasil keluaran dari contoh di atas adalah:
=====Nama Usia Halaman 1=========== = ===== = =========Ali 20 2000.00======== ================== ==Codercto 30 2500,00===== = ======Jaffer 40 4000,00=========== = =========
Secara default, fungsi tulis mengeluarkan hasilnya ke file keluaran standar STDOUT, tapi kita juga bisa membuatnya mengeluarkan hasilnya ke file lain. Cara paling sederhana adalah dengan meneruskan variabel file sebagai parameter untuk ditulis, seperti:
tulis(FILE SAYA);
Kode di atas menulis output ke file MYFILE menggunakan format pencetakan default bernama MYFILE.
Namun Anda tidak dapat menggunakan variabel $~ untuk mengubah format pencetakan yang digunakan. Variabel sistem $~ hanya mempengaruhi variabel file default. Kita dapat mengubah variabel file default, mengubah $~, dan kemudian memanggil tulis.
Setelah eksekusi berhasil, kita dapat melihat isi file tmp sebagai berikut:
$cat tmp === Masukan ke dalam file========== = =======
Ketika kita dapat menggunakan pilih untuk mengubah variabel file default, ini mengembalikan representasi internal dari variabel file default saat ini, sehingga kita dapat membuat subrutin dan output sesuai dengan ide kita sendiri tanpa mempengaruhi bagian lain dari program.
Setelah eksekusi berhasil, kita dapat melihat isi file tmp sebagai berikut:
$cat tmp === Masukan ke dalam file========== = =================================== ===== Input ke dalam file menggunakan format yang ditentukan =====