9. Perl で正規表現(1)〜入手と実行方法
前章で紹介したテキスト処理言語の中からPerlを取り上げ、正規表現に関係してよく用いられる処理を紹介します。 9−1 Perl とはPerl を、コンピュータにあまり詳しくない人(本ページの読者層?) 向けに改めて簡潔に説明することはとても難しいのですが……。(1) その実体は、perl というコマンドです。 Windows版の実体は perl.exe という外部コマンドとして実装されます。 ◆ Window版 perl のバージョンチェックをしている所 ◆
(2) 概念としての Perl は、Perlスクリプトという命令文(プログラム)を受け付け、 解釈し、実行するプログラミング言語です。 元々は UNIX上でシステムのメンテナンスに広く使われていたツールでした。 テキスト処理、ファイル操作からプロセス管理まで適用範囲は非常に幅広く、(新しい言語に押されてきているとはいえ) 現在でもWebページのCGI スクリプトなどに利用されることも多い言語です。 「Perl を使う」 とは事実上、「Perlというプログラミング言語を覚えて、スクリプトを書き、実行する」ことに他なりません。 そういう意味では、プログラミングの経験がない人には、ちょっと敷居が高いかもしれません。 9−2 入手とインストールPerl の本家は UNIX のツールです。 たいていの UNIX系OSには perl が標準で実装されているはずです。Windows版(Win32版)に関しては、標準で入ってはいません(入れておいてほしい……)が、ネット上から無料で入手して、 お手持ちのマシンにインストールすることができます。 いろいろな所から出ているのですが、よく使われているのは Active State で提供している ActivePerl です。 Active State のサイトは英語のページなのですが、インストール方法などを日本語で解説してくれているサイトも多いので (だからここでは詳述しません)がんばってインストールしてみてください。 AcrivePerl 自体は、実は日本語のかな漢字に対応してません。 何も工夫をしないと文字列検索・置換などで一部の動作に不具合を起こします。 日本語処理を適切に行うには、Jcode.pm というモジュールまたは jcode.pl というライブラリを組み込んで活用する、 日本語に対応すべく開発された JPerl を使う、といった対処をします。 ◆ AcrivePerlのダウンロード: http://www.activestate.com/ ◆ JPerlのダウンロード: VECTORから (JPerl の方は、どうも開発が途中で止まってしまっているようです。Unicode 使用が増えてきて、 日本語処理への負担は増すばかり……) 9−3 Perlスクリプトの実行方法Perl にスクリプトを与えてテキストを処理するには、複数の方法があります。(それぞれの処理方法の詳細は次章に譲ります。) (1) -e 1行スクリプト(と処理ファイル) を指定 コマンド >perl に -e '1行スクリプト'+処理対象ファイル を与えます。 ごく簡単で一時的な処理をするような場合に便利です。
(1)' 処理ファイル名を省略すると、標準入力 からデータを受け取ります。
(2) スクリプトファイル(と処理ファイル) を指定 スクリプトをテキストファイルに記述しておきます。 同じ処理を何度も使い回すのに便利です。 これも処理ファイル名を省略すると、標準入力からデータを受け取ります。 スクリプトファイルは、秀丸エディタ等のテキストエディタで書いて適当な 名前を付けて保存すればOKです。どんなファイル名でも問題なく動くの ですが、慣習的に拡張子 .pl を付けます。
(2)' 処理対象ファイルも常に同一である時は、スクリプトファイルに記述して しまえばわざわざコマンドラインで指定する必要もありません。
(3) >perl なしでスクリプトファイル (と処理ファイル) を指定 Windowsは拡張子 .pl を見てアプリケーションとの関連付けを 行います。つまりスクリプトファイルを引数として perl.exe を実行します。 そういう意味からも、perlスクリプトのファイル名には、拡張子 .pl を付け ておくようにしましょう。
|