perlを忘れ去っていた
2007/09/10
今年の始め頃は結構perlを触っていたし、Perlベストプラクティスも読んでたんですが、全く忘れてました。
今日、数ヶ月振りにperlで使い捨てのツールを作ろうとしたんですが、何から何まで忘れてて、ググってた気がする。
文字列のマッチをする場合、mxs修飾子は常に付けるという教えがあったので、その教えに従って、文字列の置換もx修飾子を使ってわかりやすくしてみました。下は極端な失敗例です。
# 文字列の置換 my $b = q(bar boo foo); $b =~ s{ oo \b } { oo! }gmxs; print $b, "\n"; # => bar b # oo! # f # oo!
?と思って調べてみると、x フラグで、見易く書けるのは、マッチ部分だけらしいです。後半の {} の部分は、””(ダブルクォート)で囲まれた文字列として扱われるようです。正解は下のようになるみたいです。
my $b = q(bar boo foo); $b =~ s{ oo \b }{oo!}gmxs; print $b, "\n"; # => bar boo! foo!
今年の始めには、一番好きな言語は、perlだったはずなんですがorz.
いつでも、使い捨てツールやらCGIやらすらすら書けるように、意識的に触るようにしたい。