Perlのマッチ変数を利用して文字列の一部を取り出します。
カッコで囲んだパターンがマッチした部分を正規表現メモリに記憶し、
正規表現メモリの内容は$1,$2...のような特殊変数に格納されています。
初めてのPerl に掲載されてあるコードを参考にすると、
$_ = "Hellow there, neighbor";
if(/(\S+) (\S+), (\S+)/) {
print "\$1: $1\n";
print "\$2: $2\n";
print "\$3: $3\n";
}
結果は下のようになります。
$1: Hellow $2: there $3: neighbor
コンマは記憶するカッコの外側にあるので、メモリ($2)に含まれません。
このテクニックを使えば、必要なものだけをメモリに取り込めます。
関連書籍
- 初めてのPerl 第5版/Randal L. Schwartz
- ¥3,780
- Amazon.co.jp
初心者にもわかりやすく書かれていますが、
全くの初心者というより、少しPerlに慣れてきた時に威力を発揮する本です。
簡単なテキスト操作のためにPerlを使用するのであれば十分事足ると思います。
- プログラミングPerl〈VOLUME1〉/ラリー ウォール
- ¥5,565
- Amazon.co.jp
ページ数も多く、価格もそれなりなので、Perlについて詳しく知りたい人向けです。
"初めてのPerl"と重複する箇所も多々あるので、これからがっちりPerlを身につけたい人は
こちらをおすすめします。