• ベストアンサー

EOM間にperl文を作成したい

$PR_data=<<"EOM"; EOM EOM間にperl文を入れたいんですがどのようにしたらよいのでしょうか?よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • atom_seed
  • ベストアンサー率48% (25/52)
回答No.4

予め変数に出力内容をためておいて、それをEOMの中に配置すればよいと思います。 my $kt; @kt = split( /&/, $Slog[3] ); foreach (@kt) { $kt .= "[<a href=\"$Ekt$_$Eend\">$kgori{$_}</a>] "; } $PR_data=<<"EOM"; $kt EOM

papa555
質問者

お礼

ありがとうございました。おかげで助かりました。 少しずつですが、perlのことがわかってきました。これからも色々と勉強していきたいです。

その他の回答 (3)

回答No.3

文字列として$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)
回答No.2

ダブルクォートのなかで、変数の展開だけでなく、一時的に計算やら関数実行やらさせるという意味だと解釈しました。 @{[ ]} と書くことで挿入できます。 $PR_data=<<"EOM"; @{[ 'Hi!'x10 ]} EOM

papa555
質問者

補足

@kt=split(/&/,$Slog[3]); foreach(@kt){ print "[<a href=\"$Ekt$_$Eend\">$kgori{$_}</a>] "; } 上記処理内容をEOM間に表示させるにはどうすればよいのでしょうか? 初心者で意味がよくわからないと思いますが、どうかアドバイスおねがいいいたします。

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

それによってどういうことがしたいのでしょう。 具体的に,質問者が想定したどのようなperl文を入れたところ質問者の意図に反する結果が出てしまったのでしょう。 それを示していただければ質問者のニーズに対する的確な回答が返せるかと思います。 ヒアドキュメント内にperl文を入れる,という方法を取らなくても解決できる問題かもしれませんし。

関連するQ&A