- ベストアンサー
書いた文章を改行など含めて文字列として変数に代入するには?
あいうえお かきくけこ さしすせそ を変数に文字列として代入したいのですが、 my $string = "あいうえお\nかきくけこ\nさしすせそ\n"; などと改行文字を自分で入れたりといったことをせず、 変数に文字列として代入する方法を教えてください。 print <<END; あいうえお かきくけこ さしすせそ END という方法があるのは分かったのですが。。。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
my $string = <<END; あいうえお かきくけこ さしすせそ END こんな感じで代入可能です。 念のため、補足します。 <<END; は <<"END"; と同じ扱いで、変数が展開されます。 下記の二つを比べてみて下さい。 my $myValue = "hogehoge"; my $string1 = <<'END'; あいうえお $myValue かきくけこ さしすせそ END print $string1; my $string2 = <<"END"; あいうえお $myValue かきくけこ さしすせそ END print $string2; さらに補足ですが、ご存知かも知れませんが、 プログラム中で、日本語を扱う場合は、 Shift-JIS と Perl の相性が悪いので注意が必要です。 (プログラムがEUCコードなら問題ありません。) 下記は、Shift-JISの場合、文字化けします。 (最後の「ソ」が文字化けします) my $string = <<END; アイウエオ カキクケコ サシスセソ END print $string; <<'END'; を使う方が無難です。 詳しくは下記など参考に。 http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
その他の回答 (1)
- t-okura
- ベストアンサー率75% (253/335)
my $string =<<END; あいうえお かきくけこ さしすせそ END ですか ? my $string = "あいうえお かきくけこ さしすせそ"; でもできますよ。
お礼
参考URL、ありがとうございました。
お礼
ご回答ありがとうございます。 うまくいきました。 また補足説明も大変参考になりました。 ありがとうございました。