• ベストアンサー

Perlで メールアドレスを削除する方法

PerlでCGIを組んでいます。 textareaで入力され送信された内容から メールアドレスを削除したいのです。 例えば、 ***@xxx.yy.zz のような文字列があったら 自動的にそれを削除するには、 どんな方法が一番簡単に記述できるでしょうか? もっと砕けていえば、 「@ を検索して、その前後5文字ずつを消す。」 とかそんなイメージのことでも構いません。 つまり、メールアドレスを不完全な形でもいいから自動的に削除したいのです。 何かアイデアがありましたら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • leiqunni
  • ベストアンサー率27% (8/29)
回答No.1

こんにちは。正規表現を使った置換を行えばできます。 $buff = 'はなもげら hana@mogera.com もげもげ'; $buff =~ s/\s.*@.*\s//g; print $buff; こうすると、メールアドレスだけ削除できますが、 この場合メールアドレスの前後に空白が入っていないといけません。 @ の前後5文字を削除というのであれば、 $buff =~ s/.{5}@.{5}//g; とします。 $buff = 'はなもげらhana@mogera.comもげもげ'; $buff =~ s/\s*[a-zA-Z0-9_\-\.]*@[a-zA-Z0-9_\-\.]*\s*//g; print $buff; すると、前後がであれば空白が無くても削除します。

u16
質問者

お礼

お礼が遅くなってすいません。 どうもありがとうございます 大変参考になりました!

関連するQ&A