大阪のデザイン事務所 アドアチーブ株式会社のオフィシャルブログ

大阪のデザイン事務所 アドアチーブ株式会社のオフィシャルブログ

2006.12.05修飾子「o」

毎度です。

タバコをやめてみようかな。

と思い、フリスクを購入して食べすぎ、

おなかが少々痛くなっております。

アドの制作部のものです。

難しいですよね。制作が禁煙って。

制作の場合、吸殻の多さは、仕事量に比例する

なんて誰かが言ってました。

もちろん正当化するわけではないですが。

最近またperlを使ってごにょごにょやっているのですが、

ここ最近ずっと悩んでおりました。

htmlのテンプレート作って、読み込んで、特定の文字列だけ置き換える

というアレです。

特定の文字を配列に入れておいて、

foreachでまわして、変えていく、っていう寸法だったのですが、

なぜか正規表現が効かない。

いや、知らなかっただけなんですが。

foreach(@hoge){

本文 =~ s/$_//og;

}

と書いておりまして、消えないな〜。なんで?

とずっと考えていたんです。

修飾子「o」って変数の展開を一度だけする。

って意味ですよね?

で、$_を展開しないと。って思って

「o」を付けた訳ですよ。

そこでずーーーーーーっと大ハマリです。

いまだ正確に理解しているのか、かなり危うい気がしますが、

どうやら「一度だけ展開」っていうのの

「一度」の方が重要だったみたいで。

ループ2回目以降は展開してくれないみたい。

いや、知ってる人は笑うでしょうけど、、

知らない人の思い込みって恐ろしいです。ホント。

なかなか禁煙も進まないわけですよ。

「o」とったら思惑通りに動きました。

正規表現に関してはもっと知識が欲しいとつくづく思う

今日この頃でした。。。ほんとに。

で、この「o」はどこまで有効なんでしょうね?

サブルーチンの中で書いても、ライブラリの中で書いても

実行中1回だけ展開

っていうことなんでしょうか?

展開されなかったら文字列扱いなのかな?

いや、ちゃんと実験して試すべきなんでしょうけど、

どうゆう時に使うのか、いまいちピンときません。。

perl大好きなプログラマの方に

セールストークのようにお話を聞いてみたいです。

この記事へのトラックバック

トラックバックURL:  http://www.adachieve.com/~mt/mt334/mt-tb.cgi/777


▼ Advertisement ▼

ソファーなら激安のソファーACへ!

最高のソファーをお求めなら価格も質も魅力的なソファー卸通販店で!

デザイナーの作品や、ふわふわもっちもちのソファーまで、幅広く取り揃えております!

気軽なTシャツやパーカースタイルでおくつろぎください。

▼ Advertisement ▼

最適な税理士をご紹介!

税理士は、ご相談の内容やご希望に合った方を選ぶと効率的!貴社にそんな税理士をご紹介いたします!紹介料は無料です!