- ベストアンサー
EOM間にperl文を作成したい
$PR_data=<<"EOM"; EOM EOM間にperl文を入れたいんですがどのようにしたらよいのでしょうか?よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
予め変数に出力内容をためておいて、それをEOMの中に配置すればよいと思います。 my $kt; @kt = split( /&/, $Slog[3] ); foreach (@kt) { $kt .= "[<a href=\"$Ekt$_$Eend\">$kgori{$_}</a>] "; } $PR_data=<<"EOM"; $kt EOM
その他の回答 (3)
- _--_--_-_-
- ベストアンサー率47% (8/17)
文字列として$PR_dataに代入したいということでしたら、最初の「EOM」をシングルクォートで囲むことによって実現できます。 $PR_data = << 'EOM'; @kt=split(/&/,$Slog[3]); foreach(@kt){ print "[<a href=\"$Ekt$_$Eend\">$kgori{$_}</a>] "; } EOM ご質問の意図を勘違いしていましたら申し訳ありません。
- atom_seed
- ベストアンサー率48% (25/52)
ダブルクォートのなかで、変数の展開だけでなく、一時的に計算やら関数実行やらさせるという意味だと解釈しました。 @{[ ]} と書くことで挿入できます。 $PR_data=<<"EOM"; @{[ 'Hi!'x10 ]} EOM
補足
@kt=split(/&/,$Slog[3]); foreach(@kt){ print "[<a href=\"$Ekt$_$Eend\">$kgori{$_}</a>] "; } 上記処理内容をEOM間に表示させるにはどうすればよいのでしょうか? 初心者で意味がよくわからないと思いますが、どうかアドバイスおねがいいいたします。
- jjon-com
- ベストアンサー率61% (1599/2592)
それによってどういうことがしたいのでしょう。 具体的に,質問者が想定したどのようなperl文を入れたところ質問者の意図に反する結果が出てしまったのでしょう。 それを示していただければ質問者のニーズに対する的確な回答が返せるかと思います。 ヒアドキュメント内にperl文を入れる,という方法を取らなくても解決できる問題かもしれませんし。
お礼
ありがとうございました。おかげで助かりました。 少しずつですが、perlのことがわかってきました。これからも色々と勉強していきたいです。