PerlでPATHやURLのパターンマッチと置換 | でばぐめ -IT技術メモ-

でばぐめ -IT技術メモ-

主にハードウェア/ソフトウェアのプログラミングに関するブログです。

PATHやURLのパターンマッチや置換を行う場合、PATHもURLも"/"で
区切られているため、文字列内の"/"をエスケープする必要があります。

たとえば、"http://ameblo.jp/debugme/ " にマッチさせようとした場合


/^http:\/\/ameblo.jp\/debugme\//

と"/"の前にエスケープ"\"をつけます。

m(パターンマッチ演算子)を使用すれば別デリミタで書くことができます。


m{^http://ameblo.jp/debugme/}

任意のデリミタの対によって、パターンをはさむことができます。

デリミタは、パターン中に現れない文字を選べば、可読性もよくなります。


m[^http://ameblo.jp/debugme/]
m%^http://ameblo.jp/debugme/%
m#^http://ameblo.jp/debugme/#

s(置換演算子)での置換でも"///"以外の別デリミタを使用できます。

/usr/binを/usr/local/binに置換したい場合


s|/usr/bin|/usr/local/bin|g;
s{/usr/bin}{/usr/local/bin}g;
s#/usr/local/bin#g;

初めてのPerl 第5版/Randal L. Schwartz
¥3,780
Amazon.co.jp
初心者にもわかりやすく書かれていますが、
全くの初心者というより、少しPerlに慣れてきた時に威力を発揮する本です。
簡単なテキスト操作のためにPerlを使用するのであれば十分事足ると思います。