プロが教えるわが家の防犯対策術!

$PR_data=<<"EOM";

EOM

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

A 回答 (4件)

予め変数に出力内容をためておいて、それをEOMの中に配置すればよいと思います。




my $kt;
@kt = split( /&/, $Slog[3] );
foreach (@kt) {
$kt .= "[<a href=\"$Ekt$_$Eend\">$kgori{$_}</a>] ";
}


$PR_data=<<"EOM";

$kt

EOM
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/03 09:40

文字列として$PR_dataに代入したいということでしたら、最初の「EOM」をシングルクォートで囲むことによって実現できます。



$PR_data = << 'EOM';
@kt=split(/&/,$Slog[3]);
foreach(@kt){
print "[<a href=\"$Ekt$_$Eend\">$kgori{$_}</a>] ";
}
EOM

ご質問の意図を勘違いしていましたら申し訳ありません。
    • good
    • 0

ダブルクォートのなかで、変数の展開だけでなく、一時的に計算やら関数実行やらさせるという意味だと解釈しました。


@{[ ]} と書くことで挿入できます。


$PR_data=<<"EOM";

@{[ 'Hi!'x10 ]}

EOM

この回答への補足

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

補足日時:2008/06/03 00:42
    • good
    • 0

それによってどういうことがしたいのでしょう。


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!