ヒアドキュメントで問題発生! [基礎編]
自分の見た夢を共有できる海外の SNS を見たことがあります。
夢日記もつけられるし、他人の夢も検索できるし、夢辞典で分析もできるもの。
なんか日本でも流行りそうな気がするんだけど……。
Perl の演算子の勉強してたハズなんだけど、
またまた問題発生です(^^;)
文字コード設定の次は、ヒアドキュメントに悩まされてます↓
ヒアドキュメント
ヒアドキュメントには前にほんの少しだけ触れてます↓
リテラルについて
終端識別子(それとも終端文字列?どっちなんだろ……?)
を HERE_1 にするとしたら、
改行を維持したい長い文字列を
<<"HERE_1" と HERE_1 で囲むんです。
注意点がいくつかあります。
まず、最後の終端文字列の後に改行が必要です。
あと、初めの終端文字列の後にはセミコロンをつけるけど、
終わりの終端文字列の後には何もつかないです。
で、一体どんな問題が起こったかって話なんだけど、
改行がされないんですよ~(>_<)
少し複雑なコードを試してたので、今度は超シンプルなのでやってみます↓
#!/xampp/perl/bin/perl.exe
print"Content-Type: text/html\n\n";
print<<"HERE_1";
1番シンプルなパターンです。
できるかな~?
HERE_1こうなりました……↓
1番シンプルなパターンです。できるかな~?
やっぱ改行されませんねぇ……。
ちょっと修整を加えてみました↓
#!/xampp/perl/bin/perl.exe
print<<"HERE_1";
Content-Type: text/html
1番シンプルなパターンです。
できるかな~?
HERE_1こんな感じのエラーが出ました↓
Error message: malformed header from script.
やっぱ Content-Type の行をヒアドキュメントに入れるパターンは、
ヘッダがダメだってエラーが出ちゃうなぁ……
なんて思ってたら、Content-Type の行の下には
空白の行を入れなくてはいけないみたい。
で、修整したんだけど、結果はやっぱりこれ↓
1番シンプルなパターンです。できるかな~?
うーん(-_-)
先に進んでくうちに解決法が分かるかもしれないし、
とりあえず先に進もうと思います。
以下のページを参考にさせていただきました↓
Perl-第7回「演算子(1)」
CGI-Perl 基礎実地編 - 実習3 (ヒアドキュメント)
ヒアドキュメント - サンプルコードによるPerl入門
Perl - ヒアドキュメント
ありがとうございました<(_ _)>
ヒアドキュメントについてはこちらもどうぞ↓
ヒアドキュメントの問題解決!
2011-12-06 15:25
nice!(0)
コメント(2)






HTMLで出力しているので改行は<br>ですよ。
print<<"HERE_1";
1番シンプルなパターンです。<br>
できるかな~?
HERE_1
by perlcodesample (2011-12-07 08:39)
perlcodesample 様
丁寧に教えていただき、ありがとうございます<(_ _)>
改行コードを入れたらできました。
本当にありがとうございました!
by れい (2011-12-07 23:21)