wwwboard.cgi で意識的な空白行を残すには?

[上に] [前に] [次に]
Nojee [E-Mail] [HomePage] 1998/08/18(火) 19:50:15
wwwboard.cgiは掲示板への書きこみをメールで受け取る機能があり、
1997.05.18バージョンを便利に使わせていただいています。
先週、新しいホームページを作る際に、思いきって1998.05.24バージョンを
使いましたが、書きこみの中の意識的な空白行が削除され、
少なくとも1文字以上入力されている行だけが残るようになりました。
これを以前のバージョンのように意識的な空白行を残すように
改造するにはどこを修正すれば良いのでしょうか?

とほほのWWW入門の中を駆けずり回って調べたのですが、
どうも思い当たるのは・・・(わざと全角にしてあります)
$FORM{’MESSAGE’} =〜 s/¥r*$//g;
$FORM{’MESSAGE’} =〜 s/¥r/<BR>/g;
あたりだと思うのですが?
2行目は「リターンを<BR>に置き換える」という意味ですよね?
さて1行目は「何かを削除する」という意味だと思うのですが
肝心の「¥r*$」の意味がわかりません。どういう意味でしょうか?

その行をはずしてテストすれば良いところですが、もう書きこみが
始まってしまっていて、書きこみがおかしくなるのが怖くて
ついつい質問させていただきました。よろしくお願いします。

ちなみに1997.05.18バージョンを使っているのは biglobe で、
1998.05.24バージョンを使っているのは cyborg です。
この辺も何か影響があるのかな〜?

余談ですが、最新のVER.2.50にはsendmail機能がないのはなぜ?

とほほ 1998/08/19(水) 03:32:16
05.18と05.24では、改行処理のほうは変更していないはずなのですが、
BIGLOBEとCyborgの違いなんてのもあるんですかね。

「s/\r*$//g」は、メッセージ末尾($)の0個以上続く(?)改行(\r)を
取り除く処理です。(\r は [\r\n] の方が良いかな・・・)
「aa\rbb\rcc\r\r\r」は、「s/\r*$//g」によって「aa\rbb\rcc」
となり、「s/\r/<BR>/g;」によって「aa<BR>bb<BR>cc」になります。

sendmailの機能は・・・wwwboard.cgiにはまだ組み込んでいません。
元wwwguest.cgiと統合しなくちゃいけないと、今、思案中です。

Nojee [E-Mail] [HomePage] 1998/08/19(水) 07:30:52
0個以上続く改行を取り除く。なるほど・・・
あれっ、でも、旧バージョンは逆にそれが効いてないな〜。
何にしろ、勇気をもって、CYBORG側の新しいバージョンで
BIGLOBEの古いバージョンを置き換えてみます。
(書き込み後の「書き込みありがとう」メッセージ大好評です。)
結果は後日報告します。



mm 1998/08/19(水) 22:58:30
wwwboard.cgi は、うちでも使わせて頂いてます(感謝)
> $FORM{'MESSAGE'} =~ s/\r*$//g;
でも、この行は、ナゾでした(笑い)
ここで以前話題になったMac NN3などの場合を除けば、「aa\rbb\rcc\r\r\r」は、
実際には「aa\r\nbb\r\ncc\r\n\r\n\r\n」となるので、「s/\r*$//g」では
「aa\r\nbb\r\ncc\r\n\r\n\n」にしかならないと思います。
仰るように「s/[\r\n]+$//」ならOKですね。

それと、1997.05.18は1年以上前なので、うちにはないため
比べられないんですが、
>使いましたが、書きこみの中の意識的な空白行が削除され、
>少なくとも1文字以上入力されている行だけが残るようになりました。
って、メッセージ末尾だけではなくて、途中の空行も消えるって
ことでしょうか?
perlに$*=1か/mが設定されていればそういうことも有り得るかも
しれませんが、スクリプトを変更せずにperl側の設定でそうこと
ができたのかな?

とほほ 1998/08/20(木) 00:25:21
あっ、1997.05.18 を 1998.05.18 と勘違いしていました。(^_^;)
この間には、いろいろ、いろいろ、変更があります。(^o^;)
あと、「sendmailの機能」とか「書き込みありがとう」とかから判断
すると、wwwboard.cgi ではなく、現在休止中の wwwguest.cgi の方
なのかな・・・・

[上に] [前に] [次に]