80もっとも嫌なメッセージですね。本章では、perlプログラマがよく犯してしまうミスを紹介します。末尾のセミコロン「;」を忘れるperlの実行分の後ろには必ずセミコロンを置かなくてはなりません。perlではセミコロンを置く事でターミネーターとします。逆に必要の無いところにセミコロンを置いてしまうミスもよく侵します。{;ループ構造や、if文のブロックの最後には必要ありません。}が対応していないブロックや、ループ構造では必ず1対のブレースで括られている必要があります。対応するブレースがわからなくなってしまいがちです。できるだけインデントを使用して読み易い文を書くよう心がけましょう。対応するかが一目でわかります。do文はif文と同じ制御構造ですのでループ制御コマンドを使用することはできません。until)で脱出できるようプログラムする事が必要です。ユーザ関数内でグローバル変数を使うperlではlocalキーワードを指定したものだけをローカル変数として重複が許されます。localまたは、myを指定しないでメインルーチンで使用されている変数を変更すると当然メインルーチンの変数の内容が変わってしまいます。/Pattern/;は$_を評価して結果を$valueに返してしまい結果は大違いです。配列は0から始まる配列変数の添え字だけでなく、substrやindex関数のオフセットも0から始まります。使用されている要素の最大値ではなく、要素の個数だということです。@DATA;このとき、$countには4が格納されますが、使用できる添え字は0から3までになります。}と書かなくてはなりません。perl5からは@を配列として展開しようとするためエラーになってしまいます。'terra@xx.xxxxxx.or.jp';と書きます。