CGI-BBS > CGI > Perl > 正規表現


カレッヂ
カレッヂ


質問者 カズ  投稿日 6/19(火) 14:28:00
電子私書箱のプログラムの中に

$value =~ s/\0/\,/g;
$subject =~ s/\0/\,/g;

という表現があるのですが、どういう意味なのでしょうか?

説明を読んでも全然理解できません・・・
御存知の方御教授お願い致します
回答者 しあわせのツボ  [削除]  投稿日 6/19(火) 15:25:45
どこがわからないのかが曖昧ですので、少しずつバラして説明します。
s/x/y/; でxをyに置き換えます。
その後ろのgは「全てのxをyに置き換える」というオプション指定です。
=~ で置き換え対象を指定します。
\0は特殊文字ヌルコード、\,は文字「,」を表します。
全て組み合わせると「$valueと$subjectの中にヌルコードがあれば全て,に置き換える」処理だとわかります。

電子私書箱は使ったことがないので断言はできませんが、ヌルコードがあるとプログラムが誤動作を起こすため、便宜上,に変換しているのでしょう。
質問者 カズ  [削除]  投稿日 6/19(火) 15:56:16
しあわせのツボさん御回答ありがとうございます。

すみません・・・
どこが分からないか書いていませんでした・・・

/\0/\,/ の部分の意味が分からなかったのです

\0 -> 特殊文字ヌルコード
\, -> ,

という意味だったんですね・・・
ヌルコード・・・(-_-;)

ありがとうございました。
もっともっと勉強します。。

返信(回答)する


Web裏技