Rumah Kewangan Peribadi Menghindari Pengawalan Biasa dalam Perl - dummies

Menghindari Pengawalan Biasa dalam Perl - dummies

Isi kandungan:

Video: Words at War: Combined Operations / They Call It Pacific / The Last Days of Sevastopol 2025

Video: Words at War: Combined Operations / They Call It Pacific / The Last Days of Sevastopol 2025
Anonim

Memasuki kesipo atau dua ketika menulis program Perl tidak biasa. Tetapi apabila anda cuba menjalankan program yang mengandungi slip kemasukan teks, Perl biasanya menjadi keliru dan memberitahu anda dengan demikian melaporkan ralat. Reaksi semulajadi untuk kebanyakan orang, walaupun mereka yang mempunyai pengalaman pengaturcaraan bertahun-tahun, adalah untuk merasa bimbang atau marah atau keduanya apabila mesej ralat muncul.

Jangan panik. Ambillah nafas panjang. Ambil satu lagi nafas yang perlahan. Serius, anda tidak boleh mendapatkan akar masalah jika anda semua tegang dan terganggu. Tidak kira berapa tahun program anda, anda selalu mencari beberapa kesilapan dalam kod yang anda tulis.

Jadi, sekarang bahawa anda (mudah-mudahan!) Sedikit lebih tenang, anda boleh mula menghargai fakta bahawa Perl mempunyai mesej ralat yang lebih berguna daripada hampir semua bahasa pengaturcaraan lain. Mesej-mesej itu tidak selalu tepat pada wang, tetapi mereka boleh membuat anda cukup dekat dengan tempat di mana masalahnya terletak dengan pencarian yang minima di pihak anda.

Perl mempunyai banyak mesej ralat, tetapi beberapa yang pasti menghasilkan lebih banyak daripada yang lain kerana beberapa kesilapan biasa yang semua orang nampak. Kesilapan berikut adalah hasil daripada kiriman teks masuk kecil yang anda boleh dengan mudah dielakkan.

Lupa huruf semikolon

Mungkin mesej ralat paling biasa yang anda lihat apabila pengaturcaraan dalam Perl kelihatan seperti ini:

# kesalahan sintaks, berhampiran "terbuka"

Fail 'counter1. pl '; Talian 10

# Pelaksanaan digugurkan kerana ralat kompilasi.

Anda boleh melihat dan melihat Line 10, yang mempunyai pernyataan terbuka, dan anda tidak akan melihat apa-apa yang salah dengannya. Silap mata di sini adalah untuk memeriksa kenyataan yang datang sebelum pernyataan terbuka dan melihat sama ada ia berakhir dengan titik koma. (Perl tahu bahawa pernyataan berakhir hanya apabila ia menemui tanda titik koma.) Dalam kes ini, ralat disebabkan oleh titik koma yang hilang pada akhir Talian 7 program:

$ TheFile = "sampel.

Melupakan tanda petikan

Mesej ralat berikut boleh menjadi sangat mengecewakan jika anda tidak tahu tentang penyelesaian yang pantas:

# Kata yang ditemui di mana operator dijangka, berhampiran

# " buka (INFILE, $ TheFile) atau mati "The"

# (Boleh menjadi rentetan berbilang baris "bermula pada

# line 7)

Fail 'counter1. pl '; Baris 10

Kesilapan ini sama dengan melupakan titik koma bertitik; sebaliknya, itu tanda petikan yang tidak sengaja ditinggalkan:

$ TheFile = "sampel. txt;

Dalam hal ini, Perl melakukan tugas yang baik untuk meneka apa yang salah, menunjukkan bahawa string multi-line yang melarikan diri pada Jalur 7 adalah masalah, yang tepat.

Memasuki satu kurungan terlalu banyak atau terlalu sedikit

Apabila anda mempunyai banyak membuka dan menutup tanda kurung dalam suatu program, mudah untuk menyelinap secara tambahan secara tidak sengaja. Jika itu berlaku, anda mungkin melihat mesej dari Perl yang berbunyi seperti ini:

# kesalahan sintaks, berhampiran ") eq"

Fail 'counter1. pl '; Baris 38

# ralat sintaks, berhampiran "}"

Fail 'counter1. pl '; Line 42

Di sini, Perl tidak dapat menentukan di mana kesilapan itu betul-betul, tetapi ia benar-benar mendapat penanda yang tepat: Talian 38 mengandungi kurungan kanan tambahan:

if (substr ($ TheLine, $ CharPos, 1)) eq "")

Mempunyai satu kurungan terlalu sedikit dalam program Perl boleh menyebabkan masalah yang lebih sukar:

# Tidak dapat menggunakan item yang tetap sebagai argumen kiri tersirat ->,

# berhampiran "1}"

Fail 'counter1. pl '; Baris 39

# Skalar dijumpai di mana operator dijangka, berhampiran "$ CharPos"

Fail 'counter1. pl '; Baris 40

# (Tanda titik tidak hilang pada baris sebelumnya?)

# ralat sintaks, berhampiran "$ CharPos"

Fail 'counter1. pl '; Talian 40

Yarp! Semua ini dihasilkan kerana kurungan terakhir pada Baris 38 hilang:

jika (substr ($ TheLine, $ CharPos, 1) eq ""

Berikut adalah satu lagi pelajaran yang baik dalam memburu kesilapan menaip: ia mendapati ralat.Jika anda tidak menemui ralat di sana, naik satu atau dua baris dan lihat jika masalah bermula lebih awal.

Kata kunci nasihat akhir: Percayakan Perl untuk mencari kesilapan mudah untuk anda (di mana ia boleh), dan ingat bahawa ia memberi anda semua bantuan yang boleh, yang lebih daripada yang anda katakan untuk banyak bahasa pengaturcaraan.

Menghindari Pengawalan Biasa dalam Perl - dummies

Pilihan Editor

Bagaimana Membuat Perubahan Global untuk Pautan di Dreamweaver - dummies

Bagaimana Membuat Perubahan Global untuk Pautan di Dreamweaver - dummies

Jika anda mahu mengubah link di seluruh dunia di Dreamweaver untuk menunjuk URL baru atau ke beberapa halaman lain di laman web anda, anda boleh menggunakan pilihan Tukar Link Sitewide untuk memasukkan URL baru dan menukar setiap rujukan secara automatik. Anda boleh menggunakan pilihan ini untuk menukar sebarang jenis pautan, termasuk mailto, ...

Cara Mengurus Tapak di Dreamweaver - dummies

Cara Mengurus Tapak di Dreamweaver - dummies

Setelah anda menyelesaikan proses persediaan tapak, tambahan kepada persediaan tapak dengan memilih Site → Manage Sites untuk membuka kotak dialog Kelola Tapak. Untuk mengedit tapak yang telah anda tetapkan, pilih nama tapak dalam kotak dialog Kelola Tapak, dan kemudian klik ikon ...

Cara Membuat Atribut Dreamweaver Disunting - dummies

Cara Membuat Atribut Dreamweaver Disunting - dummies

Di samping membuat sebarang elemen dalam halaman yang dapat diedit, membuat atribut mana-mana unsur dalam Dreamweaver boleh diedit. Langkah ini hanya perlu jika anda ingin membuat atribut disunting apabila tag itu sendiri tidak boleh diedit (contohnya, apabila anda ingin keupayaan untuk menukar imej latar belakang ...

Pilihan Editor

Dating Selepas 50: Membiarkan Seseorang Down - dummies

Dating Selepas 50: Membiarkan Seseorang Down - dummies

Berfikir tentang bagaimana perasaan apabila anda orang yang lebih cintakan, dan orang lain menganggap anda hanya membengkak - tetapi pada satu titik. Ini keadaan yang sukar. Orang suka siapa yang mereka cintai, dan hanya kerana tarikh yang memikirkan anda sebagai kawan tidak secara automatik menyejukkan api tarikan dan ...

Dating Selepas 50: Bagaimana Pendekatan Seorang - patung

Dating Selepas 50: Bagaimana Pendekatan Seorang - patung

Hak cipta © 2014 AARP. Hak cipta terpelihara. Sekiranya anda tidak bertarikh dalam masa yang lama, menghampiri seseorang mungkin berasa canggung, dan didekati mungkin merasa memalukan atau sedikit menakutkan. Jika anda ketakutan, pastikan bahawa sementara kastam telah berubah, asas-asas akan kembali kepada anda. Ia sebenarnya sedikit seperti ...

Pilihan Editor

Cara Membuat Strategi Keamanan Pengkomputeran Awan - monyet

Cara Membuat Strategi Keamanan Pengkomputeran Awan - monyet

Strategi keselamatan yang dirancang, isu yang berbeza akan muncul dengan pengkomputeran awan. Oleh itu, strategi anda perlu mengambil kira model pengkomputeran yang berbeza ini. Malah, anda ingin memastikan bahawa strategi keselamatan IT anda dipenuhi dengan strategi keselamatan awan anda. Penunjuk untuk mewujudkan awan ...

Dan Forensik dalam penyedia perkhidmatan pengkomputeran Cloud - dummies

Dan Forensik dalam penyedia perkhidmatan pengkomputeran Cloud - dummies

Masing-masing mempunyai cara pengurusan sendiri. Terdapat tiga kumpulan produk keselamatan IT - log aktiviti, sistem perlindungan pencerobohan berasaskan tuan rumah dan sistem perlindungan intrusi berasaskan rangkaian, dan audit data. Log aktiviti sebagai keselamatan pengkomputeran awan Banyak keupayaan pembalakan dimasukkan ke dalam sistem pengendalian, aplikasi, pangkalan data, dan peranti seperti ...

Menggabungkan Pengkomputeran Awan dan Seni Bina Berorientasikan Perkhidmatan - makmies

Menggabungkan Pengkomputeran Awan dan Seni Bina Berorientasikan Perkhidmatan - makmies

Awan mempunyai beberapa ciri utama: keanjalan, - peruntukan perkhidmatan, antara muka berasaskan piawaian, dan membayar semasa anda pergi. Jenis fungsi ini harus direkayasa ke dalam perisian. Untuk mencapai kejuruteraan jenis ini memerlukan asas untuk awan direka dengan baik dan diwarisi dengan baik. Bagaimana pula dengan seni bina awan yang membuat pendekatan ini mungkin? ...