Jenis data dalam perl. Fungsi tolak dan pop. Menggunakan fungsi cetakan

Perl membolehkan anda menulis program yang berkuasa dari awal lagi, sama ada anda seorang pengaturcara baru atau pakar. Perl menawarkan alat standard pengaturcaraan - pengendali perbandingan, pengkuantiti padanan corak, fungsi senarai - dan mempunyai pintasan untuk memasukkan julat aksara. Perl juga menawarkan ujian fail supaya anda boleh mencari perkara yang anda mahukan dengan cepat.

Ujian Fail Paling Berguna di Perl

Pengaturcaraan dengan Perl agak mudah, yang dilakukan untuk huruf yang anda gunakan untuk menyemak fail. Sebagai contoh, r menyemak sama ada fail itu boleh r ead, a T mencari fail t samb. Berikut adalah yang paling banyak ujian yang berguna fail dalam Perl:

Watak istimewa dalam Perl

Seperti mana-mana bahasa pengaturcaraan, Perl menggunakan pasukan khas Untuk watak istimewa, seperti tab terbalik atau menegak. Jadi, jika anda perlu memprogramkan panggilan atau isyarat bunyi atau carriage return sahaja, semak jadual berikut untuk watak yang akan menghasilkannya:

Operator Perbandingan Betul-Salah Perl

Apabila anda memprogram dalam Perl atau mana-mana bahasa lain, anda menggunakan operator perbandingan sepanjang masa. Jadual berikut menunjukkan perbandingan umum untuk Perl dalam bentuk matematik dan rentetan:

tolak (@r, @s)

splice(@r, $#r + 1, 0, @s)

Sebarang nombor

Padankan 1 kali atau lebih

*

Padankan 0 atau lebih kali >?

Artikel ini ditulis untuk orang yang, disebabkan oleh force majeure segera merasakan keinginan untuk belajar Pearl. Bagi saya, keadaan ini ialah komputer saya menjadi pelayan WEB, dan saya, sewajarnya, menjadi tuan WEB. Sudah menjadi kebiasaan untuk belajar daripada kesilapan dan pengalaman orang lain, jadi saya membawa kepada perhatian anda pengalaman saya belajar Pearl.

Ia serta-merta perlu untuk menjelaskan untuk siapa ini semua ditulis. Jika pelayan anda sedang berjalan platform UNIX, maka saya harus membaca artikel anda. Saya telah memasang stesen kerja Windows NT 4.0 (RUS) plus Pek Perkhidmatan 3. Apabila tiba masanya untuk menukar komputer saya menjadi pelayan WEB, saya bergegas ke Perkhidmatan terbina dalam nod WEB, tetapi dengan cepat menyedari bahawa saya tidak menyukainya (mengapa?). Dan kemudian seorang yang baik hati dinasihatkan untuk memasang Xitami Pelayan WEB daripada iMatix Corporation (), yang masih berdiri hari ini.

Bagi Pearl sendiri, ia agak rumit. Selepas membelek-belek pelbagai pelayan Perl (www.perl.org, www.perl.com), saya mengetahui bahawa terdapat begitu banyak versi Perl sehingga agak sukar untuk memilih sesuatu yang khusus. Pada masa yang sama, tiada cadangan yang jelas di mana-mana mengenai pilihan satu versi atau yang lain. Setelah mencuba hampir semua versi untuk Windows, saya memilih Active Perl().

Bagi seseorang yang dimanjakan oleh semua jenis Windows dan Delphi, menulis atur cara dalam Perl agak luar biasa, jadi saya amat mengesyorkan memasang Perl Builder dengan segera. Anda boleh mendapatkannya di www.solutionsoft.com. Terdapat versi Demo selama tiga puluh hari di sana.

Nah, saya rasa sudah tiba masanya untuk terus ke intinya. Secara umum, skrip Pearl, seperti mana-mana program lain, berfungsi seperti ini:

  1. menerima data
  2. memproses data
  3. memberikan hasil

Anda boleh memindahkan data ke skrip menggunakan dua kaedah - GET dan POST. Perbezaan antara mereka ialah apabila menggunakan GET data sentiasa melepak dalam bar alamat penyemak imbas, contohnya:

http://treagraf.tasur.edu.ru/cgi-bin/price.pl?Category=POWER&Description=varta

Dalam kes ini, skrip B_price.pl mengambil data pembolehubah persekitaran QUERY-STRING.

$data=$ENV("QUERY_STRING");

Apabila menggunakan kaedah data POST dihantar ke input standard skrip. Panjang blok data diambil dalam pembolehubah CONTENT_LENGTH:

Baca(STDIN,$data,$ENV("CONTENT_LENGTH"));

Kini data ini perlu diterjemahkan ke dalam bentuk yang boleh dihadam, kerana ia dikodkan.

Konvensyen standard adalah untuk menggantikan ruang dengan tanda tambah dan kemudian mengekodkan baki aksara tidak sah menggunakan kod ASCII dalam perenambelasan, didahului oleh tanda (%). Contoh:

Http://treagraf.tasur.edu.ru/cgi-bin/B_price.pl\ ?Category=%C2%E8%E4%E5%EE&Description=%E0%E1%E2%E3

Ini bermaksud:

Http://treagraf.tasur.edu.ru/cgi-bin/B_price.pl?\ Category=Video&Description=abvg

Adalah lebih baik untuk menyahkod rentetan pertanyaan sendiri buat kali pertama. Kepada soalan "bagaimana?" Terdapat banyak jawapan yang tidak masuk akal untuk ditulis semula. Izinkan saya memberi anda contoh ringkas:

Gantikan tanda (+) dengan ruang

$query = ~ s/\+/ /g;

Kemudian kami menggantikan semua kombinasi tanda (%), diikuti dengan digit heksadesimal, dengan yang sepadan watak ASCII

$query =~ s/%((2))/pack("C", hex($1))/cth;

Saya menggunakan apa yang ditawarkan oleh Perl Builder:

#! E:\perl5\bin\perl # panggil rutin pengambilan data $Category = $field("Category"); # dapatkan data dari medan Kategori $Description = $field("Description"); # dapatkan data daripada medan Penerangan $Page = $field("Page"); # dapatkan data daripada medan Halaman

Pada penghujung skrip kami meletakkan subrutin untuk bacaan data "telus".

Sub GetFormInput ( (*fval) = @_ if @_ ; local ($buf); if ($ENV("REQUEST_METHOD") eq "POST") ( read(STDIN,$buf,$ENV("CONTENT_LENGTH")) ; ) else ( $buf=$ENV("QUERY_STRING"); ) if ($buf eq "") (kembali 0;) else (@fval=split(/&/,$buf); foreach $i (0 . . $#fval)( ($nama,$val)=split (/=/,$fval[$i],2); $val=~tr/+/ /; $val=~ s/%(.. )/pack("c",hex($1))/ge; $name=~tr/+/ /; $name=~ s/%(..)/pack("c",hex($1))/ ge; if (!defined($field($name))) ( $field($name)=$val; ) else ($field($name) .= ",$val"; #if you want multi-selects untuk masuk ke array tukar kepada: #$field($name) .= "\0$val"; ) ) ) return 1; )

Peringkat kedua skrip - pemprosesan data - sepenuhnya mengikut budi bicara anda. Semak data yang diterima untuk ketepatan, tuliskannya ke fail, lakukan apa sahaja yang anda mahu.

Akhir sekali, anda perlu memberikan beberapa hasil kepada penyemak imbas pelanggan supaya penyemak imbas memaparkannya dengan betul. Iaitu, anda perlu memaparkan keputusan dalam HTML. Ini dilakukan secara ringkas: (juga boleh dilakukan dengan cara yang berbeza)

Cetak "Content-type: text/html", "/n/n"; #cetakan baris yang diperlukan "

Dalam medan Kategori yang anda masukkan: ", $Category, "

Ini semua terpakai pada skrip yang menerima data daripada borang pada halaman HTML. Dalam kes ini, halaman dengan borang adalah berasingan, skrip adalah berasingan. Anda boleh menjadikannya lebih cantik dan lebih mudah: gabungkan halaman dan skrip menjadi satu keseluruhan. Untuk melakukan ini, skrip ditulis mengikut skema berikut:

  1. Apabila pertama kali dilancarkan, skrip dilukis halaman HTML dengan borang dan pautan dalam teg ACTION kepada dirinya sendiri. Larian pertama ditentukan oleh ketiadaan data input.
  2. Sekiranya terdapat data input, maka kami menerimanya, memprosesnya dan menghasilkan hasil.

#! E:\perl5\bin\perl if (($ENV("QUERY_STRING") eq "") atau ($ENV(CONTENT_LENGTH)=0)) ( # jana halaman dengan borang ) lain (# terima data, proses dan keluarkan hasilnya)

Buku tetamu

Algoritma umum untuk buku tetamu adalah seperti berikut:

1. Jika pengunjung ingin membuat catatan dalam buku, maka
1.1 Mendapatkan data
1.2 Tuliskannya pada fail atau pangkalan data
1.3 Kami mengucapkan terima kasih kepada HTML dan mencadangkan membaca entri lain
2. Jika pengunjung ingin membaca entri dalam buku tersebut, maka
2.1 Membaca rekod daripada fail atau daripada pangkalan data
2.2 Kami memaparkannya dengan cantik dalam HTML

Untuk memudahkan persepsi, saya memformat mata 1 dan 2 dengan skrip berasingan add_guestbook.pl dan read_guestbook.pl, masing-masing. Mesej buku tetamu disimpan dalam fail teks baris demi baris, i.e. untuk setiap rekod ada garisan. Ini dilakukan untuk menjadikan fail ini lebih mudah dibaca. Contoh satu entri:

Sab Dis 5 13:31:20 1998&Natasha&pelajar&Baik&Baik sebagai permulaan. Saya doakan anda berjaya dalam bidang ini, Alexander!&no@yet&194.226.60.34

Berikut ialah perihalan medan dalam buku pelawat yang dimaksudkan.

  • Nama - nama pertama, nama keluarga, patronimik, nama panggilan - mengikut budi bicara pelawat
  • Kerja - profesion, pekerjaan
  • RadioButton - tiga butang: Saya menyukainya (Baik), saya tidak menyukainya (Teruk), saya tidak peduli (Berbeza)
  • Teks - kotak teks komen dan nota
  • E-mel - alamat pemulangan

Kebetulan saya mengenali sekurang-kurangnya dua orang yang ingin belajar Perl. Saya memutuskan untuk menulis jawatan ini khas untuk mereka.

  • Bahagian 1: Jenis Pembolehubah (Anda sedang membaca bahagian ini)

Anda akan dapati contoh di sana program mudah daripada siri "cetak nombor dari 1 hingga 5" dan seumpamanya. Saya selalu suka belajar daripada contoh - ia lebih menarik dan lebih pantas daripada daripada buku atau seminar. Anda juga boleh melihat siaran di blog ini - kemungkinan besar anda akan menemui lebih banyak contoh di sana.

Saya menganggap bahawa di sekolah/institut anda mempelajari Pascal/Delphi, C atau sekurang-kurangnya Asas, dan tidak perlu menjelaskan apa itu fungsi dan gelung. Jika ini tidak berlaku, tidak mengapa, hanya untuk memikirkannya, anda perlu berbelanja masa tambahan kerana membaca Wikipedia. Jika anda tidak tahu cara menjalankan skrip bash, atau mengapa dalam baris pertama skrip anda harus menulis sesuatu seperti #!/bin/sh, anda perlu melakukan googling sedikit untuk mengetahuinya.

Terutama bagi mereka yang berminat dengan soalan "adakah benar Perl sangat rumit", "buku apa tentang Perl boleh anda cadangkan" dan juga "eh... adakah ia masih tertulis di dalamnya?", Saya menulis Mini- Soalan Lazim tentang Perl , yang boleh anda baca di HabraHabr. Dan bagi mereka yang tidak menguatkan banyak huruf Di sini saya akan memberikan ringkasan ringkas mengenainya:

  • Perl - bahasa moden pengaturcaraan di mana mereka menulis dan akan terus menulis untuk masa yang sangat lama.
  • Perl, seperti mana-mana bahasa pengaturcaraan lain, mempunyai kelebihan, kelemahan dan aplikasinya. wujud sangat besar kelas masalah yang Perl selesaikan dengan 5+.
  • Sintaks Perl tidak lebih kompleks daripada sintaks C++ atau Java. Anda boleh mengesahkan ini dengan membaca siaran ini hingga akhir.
  • Terdapat tutorial Perl yang bagus tetapi murah. Anda juga boleh mencari komuniti pengaturcara Perl dalam talian dengan mudah yang bercakap bahasa ibunda anda.
  • Perl berfungsi dengan baik di bawah kedua-duanya sistem operasi keluarga UNIX, dan di bawah Evil Windows.

Tambahan: Saya juga mengesyorkan agar anda membaca artikel Perl vs Python vs Ruby vs PHP dan Priest of Programming. Yang pertama bercakap tentang prestasi pelbagai bahasa skrip, yang kedua bercakap tentang Perbezaan PHP daripada bahasa lain. Untuk peminat Python, saya nasihatkan anda membaca artikel Ujian prestasi skrip Python. Saya berharap bahan-bahan ini akan membantu anda mencari jawapan kepada soalan "apa yang baik tentang Perl."

Hello %username%!

Jadi, mari tulis skrip Perl pertama kami!

#!/usr/bin/perl

$nama = shift() ;
print("Hello, $nama! \n") ;

Mari jalankan skrip:

$ chmod u+x 1 .pl
$ ./ 1 .pl afiskon
Hello afiskon!

Segala-galanya sangat mudah di sini:

  • Nama pembolehubah skalar (iaitu, bukan tatasusunan atau cincang, apa itu - lihat di bawah) bermula dengan tanda dolar.
  • Fungsi anjakan mengembalikan hujah skrip seterusnya. Dalam erti kata lain, panggilan pertama untuk shift() mengembalikan argumen pertama, panggilan kedua mengembalikan argumen kedua, dan seterusnya.
  • Fungsi print() mencetak rentetan yang diluluskan sebagai hujah.
  • Anda boleh menggantikan nilai pembolehubah ke dalam baris (lihat baris 4). Untuk maklumat lanjut tentang rentetan, lihat di bawah.

Jika masih belum jelas, tidak mengapa. Mungkin sedikit teori akan membawa sedikit kejelasan.

Jenis boleh ubah

Terdapat tiga jenis pembolehubah utama dalam Perl: skalar(nombor dan rentetan), tatasusunan- serupa dengan yang digunakan dalam Pascal atau C (kadangkala tatasusunan juga dipanggil vektor), dan cincang (tatasusunan bersekutu).

skalar kita sudah gunakan dalam contoh sebelumnya. Berikut ialah beberapa lagi contoh menentukan skalar.

#!/usr/bin/perl

$a = 123 ;
$b = - 7.496 ;
$c = 0xABC; # sama dengan 2748, ya, itu ulasan :)
$d = ($a + $b ) / $c ;
$d *= $a ; # sama seperti $d = $d * $a;

$str1 = "hello" ;
$str2 = "$str1, dunia" ; # $str2 mengandungi "hello, world"
$str3 = $a . " \n". $str2 ;
$str4 = "$str1" ; # $str4 mengandungi "$str1", bukan "hello"

Di sini kita tetapkan positif dan negatif, integer dan nombor pecahan, tetapkan nombor dalam pengekodan heksadesimal, tambah, darab dan bahagi - semuanya seperti dalam C atau Java. Sebagai tambahan kepada operasi di atas, Perl juga menyokong operasi eksponen:

$a = 2 ** 8 ; # hasil: 256

Dengan rentetan, semuanya lebih kurang sama seperti dalam sesetengah PHP. Titik bermaksud operasi penggabungan (iaitu, "melekatkan" rentetan bersama-sama); jika rentetan mengandungi nama pembolehubah, nilai digantikan di tempatnya; simbol boleh dimasukkan menggunakan garis miring ke belakang baris baru(\n), tab (\t), petikan (\"), garis miring ke belakang itu sendiri (\\), tanda dolar tanpa sebarang penggantian pembolehubah (\$) dan banyak lagi. Jika rentetan berada dalam petikan tunggal, simbol di dalamnya ditafsirkan "seadanya", tanpa penggantian berubah, dsb.

Seperti PHP, Perl mentafsir skalar sebagai nombor atau rentetan bergantung pada operasi. Ia mudah:

$int1 = "11" + 22 ;
# ^ rentetan "11" ditukar kepada nombor,
# selepas itu penambahan dilakukan, hasil: 33.
$str1 = "11" . 22;
# ^ nombor 22 ditukar kepada rentetan,
# selepas penggabungan dilakukan, hasilnya ialah "1122".

Peraturan untuk menukar daripada rentetan kepada nombor dan sebaliknya adalah sama seperti dalam PHP:

$str1 = 0 . "abc" ;
# ^ hasilnya ialah "abc", nombor sifar ditukar kepada rentetan kosong
$int1 = "aaa" + 1 ;
# ^ keputusan ialah 1, tiada nombor dalam rentetan "aaa"
$int2 = "12aaa" + 1 ;
# ^ keputusan ialah 13, hanya digit pertama rentetan diambil kira

By the way, untuk pengumuman beratur panjang Terdapat pengendali khas - q dan qq:

# serupa dengan petikan tunggal
$teks = q (
Adakah anda mempunyai $15?
} ;
# serupa dengan petikan berganda
$mesej = qq (
Helo, $username!
Apa khabar?
} ;

Bekerja dengan Arrays berlaku seperti berikut:

#!/usr/bin/perl

$scalar = "bebebebe" ;
($a, $b) = (1, 2); # sama seperti $a = 1; $b = 2;
@arr = ("aaa" , 123 , $scalar , $a + $b );
cetak $arr [ 1 ] . " \n";
tolak @arr , $a ;
cetak pop (@arr) . " \n";

Di sini kita mencipta tatasusunan @arr yang terdiri daripada 4 elemen (baris 5). Kemudian kami mengeluarkan elemen kedua (baris 6). Penomboran elemen bermula dari sifar, jadi untuk memaparkan elemen kedua, indeks 1 digunakan. Kemudian kami meletakkan nilai pembolehubah $a di hujung tatasusunan (fungsi tolak, baris 7), dan segera mengambil dan memaparkannya ( fungsi pop, baris 8).

Sila ambil perhatian bahawa nama tatasusunan bermula dengan "anjing" dan bukan dolar (ia tidak sukar untuk diingat - simbol yang sepadan adalah serupa dengan huruf pertama nama jenis bahasa Inggeris: $ - skalar, @ - tatasusunan). Apabila mengakses elemen tatasusunan kedua (baris 6), tanda dolar telah digunakan kerana elemen tatasusunan ialah skalar. Pada mulanya ini menyebabkan banyak kekeliruan, tetapi secara umum semuanya adalah logik.

Juga dalam skrip ini kita panggil fungsi cetakan dan tolak tanpa tanda kurung. Dalam Perl, apabila memanggil fungsi, di mana-mana sahaja ia tidak menyebabkan kekaburan, kurungan boleh ditinggalkan.

Untuk mengisytiharkan tatasusunan yang elemennya adalah rentetan tanpa ruang, terdapat pengendali khas - qw:

@arr = qw/aaa bbb ccc/ ;
# serupa dengan ("aaa", "bbb", "ccc"), hanya lebih pendek

Hashes adalah serupa dengan tatasusunan, tetapi unsur-unsur dalam cincangan tidak dipesan. Dalam kes ini, rentetan boleh digunakan sebagai kunci yang membolehkan elemen diakses.

#!/usr/bin/perl

% hash = ( # apabila mengisytiharkan cincang dan tatasusunan anda boleh
"x" => 12 , # gunakan pemisah baris
y => 53 , # jika tiada aksara khas dalam kekunci, petikan tidak diperlukan
"z" => - 10.5 , # anda boleh meninggalkan koma di hujungnya
) ;

$hash("x")++; # x koordinat kini 13
$hash ( y ) --; # y koordinat kini 52

# koordinat paparan
cetak "x = $hash(x), y = $hash(y), z = $hash(z)\n ";

Nama cincang bermula dengan tanda peratus dan digunakan untuk merujuk kepada elemen. pendakap gigi(bukan segi empat sama, seperti yang berlaku dengan tatasusunan). Jika nama kunci diketahui lebih awal, anda boleh menentukannya tanpa petikan (baris 10).

By the way, pembolehubah $test, @test dan %test adalah pembolehubah tidak bersandar sepenuhnya dari jenis yang berbeza.

Pada ketika ini saya ingin pergi ke kenyataan bersyarat dan untuk/sementara gelung, tetapi saya menyedari bahawa terdapat terlalu banyak teks untuk satu jawatan. Sementara itu, masih banyak persoalan di sebalik tabir:

  • Kenyataan bersyarat;
  • Untuk dan sambil gelung;
  • Pengisytiharan fungsi;
  • Bekerja dengan strim dan fail;
  • Sintaks yang ketat;
  • Menggunakan modul dan kelas siap sedia.

Saya akan menulis tentang ini dalam salah satu jawatan berikut. Saya ingin menerima sekurang-kurangnya beberapa komen pada siaran ini - menarik/tidak menarik, boleh difahami/tidak difahami, dan sebagainya. Ngomong-ngomong, jika anda mempunyai soalan yang berkaitan dengan Perl (tidak semestinya berkaitan dengan siaran ini), sila tanya mereka dalam komen!

Saya harap siri siaran tentang pengaturcaraan dalam Perl ini akan membantu anda menulis skrip mudah pertama anda. Lama kelamaan, skrip akan menjadi lebih kompleks, mereka akan menggunakan teknologi baharu (OOP, ungkapan biasa) dan selepas beberapa ketika anda akan mendapati bahawa anda cukup mengetahui tentang Perl untuk berkongsi pengalaman anda dengan orang lain.

Kata pengantar, pada pendapat kami, harus memberikan maklumat kepada pembaca berdasarkan mana dia memutuskan sama ada dia memerlukan buku ini.

Buku kita tentang apa? Ia, secara semula jadi, mengenai bahasa Perl, kerana itulah yang dikatakan dalam tajuk. Siapa yang memerlukannya, Perl ini? Mereka yang mencipta skrip CGI, mentadbir sistem dengan menulis skrip dan bukannya mengklik butang kiri tetikus, memproses teks dan menyelesaikan banyak tugas lain daripada kawasan berkaitan dan pada masa yang sama memerlukan alat yang berkuasa, tetapi mudah digunakan yang membolehkan anda mencipta program besar dan program kecil dan mencubanya dengan cepat. Ia juga berguna untuk mereka yang mengajar pengaturcaraan untuk memahami bahasa ini, kerana ia mempunyai sifat menarik yang tiada dalam bahasa pengaturcaraan tradisional yang digunakan dalam proses pengajaran.

Kami menyukai beberapa ciri bahasa: pergantungan hasil pada konteks, tatasusunan bersekutu, jenis data typeglob, pakej, pelaksanaan pengaturcaraan berorientasikan objek dan, sudah tentu, kemudahan pemprosesan teks. Jika anda tidak berminat untuk sekurang-kurangnya mengetahui maksudnya, maka anda boleh meletakkan buku itu. Jika anda sudah tahu semua yang disenaraikan di atas, maka anda juga boleh meletakkannya di tepi, kerana buku ini adalah untuk pembaca yang baru mula belajar Perl sendiri.

Bahasa Perl dicipta pengaturcara sistem Larry Wall sebagai alat UNIX yang membolehkan anda "melekatkan" skrip besar daripada program yang melaksanakan fungsi individu untuk menyelesaikan satu set masalah yang berkaitan dengan pentadbiran, pemprosesan teks, dll. Kemudian ia melangkaui rangka kerja ini dan bertukar menjadi pengaturcaraan sebenar bahasa yang mencerminkan banyak trend yang telah muncul dalam teknologi pengaturcaraan sejak sedekad yang lalu dan telah meluas berkaitan dengan perkembangan Internet. Perl ialah alat utama untuk mencipta aplikasi CGI, mudah untuk menyelesaikan masalah mentadbir pelayan Web, E-mel dan sistem lain. Terima kasih kepada kelajuan dan kemudahan menulis skrip dalam bahasa ini, ia telah merebak ke platform lain: DOS, Windows, OS/2, Mac, VMS, dll. Salah satu kelebihan utama bahasa Perl ialah keterbukaan dan kebolehaksesannya. DALAM Rangkaian Internet anda boleh mendapatkannya secara percuma teks sumber penterjemah perl (Perl ialah bahasa yang ditafsirkan, yang dalam beberapa kes merupakan kelebihan) dan modul sambungannya.

Buku ini adalah manual arahan diri untuk bahasa Perl, yang dipelajari, seperti yang mereka katakan, dari awal, iaitu diandaikan bahawa pembaca tidak biasa dengan bahasa ini - dia akan mempelajari semua yang dia perlukan dengan mempelajari topik secara konsisten dan menyatukan bahan yang diliputi, menjawab soalan dan melaksanakan latihan, yang diberikan pada akhir setiap bab. Mari kita ulangi bahawa bahan yang dicadangkan hanya mewakili asas bahasa Perl. Buku ini sama sekali tidak bertujuan untuk menjadi buku teks tentang pengaturcaraan Perl. Di dalamnya anda tidak akan menemui metodologi pengaturcaraan atau resipi siap sedia untuk menyelesaikan masalah, ia tidak Penerangan terperinci modul yang paling biasa digunakan dan menyelesaikan masalah dengan bantuan mereka, tetapi selepas membaca buku anda akan memperoleh pengetahuan asas, yang akan membolehkan anda memahami sebarang skrip Perl.