【Perl 】初心者コーナーPart8
■ このスレッドは過去ログ倉庫に格納されています
0248名無しさん@お腹いっぱい。
01/11/11 20:43ID:dTfyRXHQわかりました。後はGoogleと格闘してきます。
もう一つ質問なんですが、
テンプレートを用意して記号を変数で書き換えたいんです。
で、こんなのを書いて見ました(Thanks to 某スレの20さん)。
----------------------------------
$post{hoge} = 'Succeed!'; # 変換するデータのハッシュ(実際にはもっと増やす)
printTemplate('./test.txt', %post);
sub printTemplate{
my($filename, %form) = @_;
open(FILE, "< $filename");
my @lines = <FILE>;
close(FILE);
foreach (@lines) {
s/\${(.*?)}/$form{\1}/g; # ${abc}という書式が見つかったら$form{abc}に変換
print;
}
}
(test.txtの内容は、テストなので「${hoge}」の一行のみ。)
----------------------------------
が、上手く変換できません。
$form{\1} の所を $form{hoge} と直接書くと通ります。何故??
$from{\1} を \$from{\1} と書いて見て、
ちゃんと$form{hoge}と出力されてるのは確認したんですが…。
■ このスレッドは過去ログ倉庫に格納されています