0

DB の改行文字をタグに置き換えようとし<br/>ており、次の mySQL クエリ文字列を Perl で記述しています。

my $queryString = "Select REPLACE(r.form_text,'\n','<br /> '), ... FROM myTable r;"

何らかの理由で、\nは perl 内から改行として扱われ、 に置き換えられないようです<br/>。印刷してみた結果がこちら$queryString

REPLACE(r.form_text,'

','< br /> ')

私は使用しようとしまし\\n\\\nが、それもうまくいきませんでした。これが繰り返しの質問である場合は申し訳ありません。ここで何か不足している場合はお知らせください。

4

1 に答える 1

0

もちろん、改行を取得します。二重引用符を使用して文字列を引用すると、その中のすべてが補間され、\nリテラルの改行になります。リテラル\nが必要な場合は、補間を防ぐ必要があります。通常は一重引用符を使用しますが、文字列にすでに引用符が含まれているため、これは実用的ではありません。したがって、代わりにこのq()機能を使用してください。

my $queryString = 
    q|Select REPLACE(r.form_text,'\n','<br /> '), ... FROM myTable r;|;

さまざまな区切り文字を使用できることに注意してください。q()この場合は、パイプを使用し|ました。この文字列を出力しようとすると、リテラルが含まれているはず\nです。ここのドキュメント。

于 2012-05-01T15:34:11.617 に答える