重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ショッピングカートの自動返信メールと、こちらに届く受付メールなのですが、

お客様に届くメールは入力していただいた通りに表示されているのですが、こちらに届く受付メールのほうで
余計に空行が入ります。

●例えば
------------------------------
お客様が入力した内容:
あいうえおかきくけこさしすせそ
たちつてと

なにぬねの
-----------------------------

だとすると

-----------------------------
こちらで受信する内容表示:
あいうえおかきくけこさしすせそ

たちつてと



なにぬねの
-----------------------------

となってしまいます。

空行を入れてないところには「1行」。
空行を1行入れると「3行」入ってしまいます。

cgiは http://www.hal9800.com/home/cgi.html#free_sample
こちらのサイトの shop_hal_v1 を項目のみカスタマイズして使っています。

どうか、お分かりになる方ご指導下さい。

A 回答 (2件)

良くある話だと、\r\nで改行コードを読み取ってしまうので、どちらとも改行されてしまうことです。



$hoge =~ s/\r\n/\n/;
$hoge =~ s/\r/\n/;

で改善されると思います。
細かく言うと構文が間違っているようですが、通常は動きます。
(参考URL参照)

参考URL:http://www.din.or.jp/~ohzaki/perl.htm#CRLF_Unify
    • good
    • 0

●パターン1


行データ[改行]
行データ[改行]

●パターン2
行データ[改行]
[改行]
行データ[改行]


各行の既存の改行に加えて、改行を二重に付加してるのではないでしょうか?
パターン1にそれぞれ改行を二重に付加すると、1つの空行ができます。
パターン2にそれぞれ改行を二重に付加すると、3つの空行ができます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!