スイッチを試してみる。これで、問題か所を特定できる場合も多々あり。-wはスクリプトの一行目の#!の行に書く事もできます。次の@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~が重なります。!"#$%&'()*+,-./0123456789:;<=>?は重複していません。この重複領域の文字がワルサをすることがあります。これを配列として展開しようとします。JIS(ISO-2022-JP)ではもっと困る問題があります。「JISです」という文字列は上記ISO-2022-JPで述べたようにESC$B#J#I#S$G$9ESC(Bとなり、指示子を含んだものとなります。#ESCはよく^[で表されるエスケープ文字です。これに対して「JIS」と言う文字でマッチングしようするとESC$B#J#I#SESC(Bとなり、マッチングしません。処理するのが良策ということになります。いろんなコマンドに影響を及ぼします。テキストファイルを読み取り、そこから情報を引き出し、その情報を元に様々な報告を行なうように設計された、インタプリタ言語です。多くのシステムマネジメントの作業を行なうのに適した言語でもあります。良い部分を組み合わせているので、これらの言語に馴染みのある方には、それほど難しいものではないでしょう。痕跡にも気付くかもしれません。式の構文に対応したものとなっています。データの大きさに恣意的な制限を設けません。つの文字列に入れてしまうこともできます。再帰の深さにも制限がありません。連想配列が使用するハッシュテーブルは、パフォーマンスを損なわないように、必要に応じて、自動的に大きくなります。Perlでは、大量のデータをすばやく走査できるように、工夫を凝らしたパターンマッチの技術を使っています。ファイルを連想配列のようにして扱うこともできるようになっています。プログラムよりも安全です。スクリプトに変換するトランスレータも用意されています。コードが書けるようになりました(たとえ正規表現の中でも)。以前の暗号的な変数名は覚えやすい識別子で置き換えることができます。エラーメッセージの情報量が多くなり、オプションの警告によって、初心者が犯すような過ちを見つけやすくなっています。これは、あまり強要してはいません。スイッチを使ってください。文法は以前に比べて、半分の大きさになりました。任意文法規則の多くが正規化されました。スクリプトを変更なしに使うことができます。変数のように、字句スコープで宣言することができます。これは効率的であるばかりでなく、「大規模プログラミング」におけるプライバシーの保護にも役立ちます。他の変数やサブルーティンへのリファレンスを持つことができます。名前のない変数やサブルーティンを作ることが簡単にできます。リファレンスの参照数を管理してくれます。ライブラリは、様々なパッケージで簡単に共有できるモジュールという形で定義されるようになりました。パッケージは、モジュールが公開しているインタフェースのすべて、あるいは一部をインポートすることを選択できます。同じ機構によって定義され、使用されます。オブジェクト指向プログラミングパッケージはクラスとして機能します。新しい文法を導入して、動的多重継承や仮想メソッドを、明快な方法でサポートしています。ファイルハンドルをオブジェクトとして扱うことができるようになりました。アプリケーションに組み込めるようになり、文書化されているインタフェースを使って、それらのルーティンとの間で、相互に呼び出しを行なったりすることができます。張り付けるのを手伝ってくれます。動的なモジュールのロードがサポートされています。ルーティンや定義をアクセスすることができます。ブロックは、パッケージがコンパイルされるときと、プログラムが終了した後に制御を受け取るために使われます。ファイルを、同時にアクセスできるようになりました。する形式に一般化されました。機構では、未定義のサブルーティンコールのために、任意の内容を定義することができるようにしています。自動ロードのためだけではありません。最長一致ではない数量子を指定することができます。後方参照とならないグループ化が可能になりました。正規表現の中に空白やコメントを書くことができ、読みやすさが向上します。すべての古い正規表現にアッパーコンパチな一貫した拡張性機構が組み込まれました。引数なしで使われたときに参照されます。設定されていないと参照されます。使ったときにスクリプトを探すために参照されます。ライブラリファイルを探すときに、標準のライブラリディレクトリとカレントディレクトリよりも前に探しにいくディレクトリを、コンマで区切って並べたリストです。デバッグのコードを持ってくるためのコマンドを指定します。}がデフォルトとして使用されます。ライブラリファイルを探すときに、標準のライブラリディレクトリとカレントディレクトリよりも前に探しにいくディレクトリを、コンマで区切って並べたリストです。環境変数を使用しません。スイッチは、幾分わかりやすい診断メッセージを出します。manpageを参照してください。コンパイル時のエラーでは、エラーの起こった行番号に、次に調べられるはずだったトークンかトークンの型を示します。行とカウントされます。いったエラーメッセージが表示されることがあります。スイッチが必須になっていません。ような様々な操作のマシンごとの定義に依存します。