![]() |
カレッヂ |
質問者 matsu
投稿日 2006/1/31(火) 20:58:50
matsuと申します。 OS:redhat7.2 perl:5.6.0-17 クライアントOS:Win XP IE6 ----test.html---- <html> <head> <title>$HEADLINE</title> <meta http-equiv=content-type content="text/html; charset=x-euc-jp"> </head> <body> </body> </html> ----test.cgi---- #!/usr/bin/perl print "Content-type: text/html"."\n\n"; open(TEMPLATE, "/xxx/xxx/xxx/test.html") or die "can't open test.html: $!"; $headline = 'あああああ'; ------------------ (1) ---------------------- while(<TEMPLATE>) { $temp = $_; $temp = ~s/\$HEADLINE/$headline/g; print $temp; } ---------------------------------------------- close(TEMPLATE); を作成しtest.cgiを実行すると、 42949672954294967295429496729442949672954294967295429496729542949672954294967295 が表示されるだけです。 (1)の箇所を while(<TEMPLATE>) { $temp = $_; # $temp = ~s/\$HEADLINE/$headline/g; print $temp; } とすると、test.htmlが正しく表示されます。 test.htmlの内容そのものは変更したくありません。 $HEADLINE部を'あああああ'に置換しtest.htmlを表示したいです。 置換部に問題があると思うのですが、何分始めたばかりなので 解決法が見つかりません。 よろしくお願いします。
【習熟度】初めて |
質問者 matsu
[削除]
投稿日 2006/2/1(水) 10:44:01
自己レスです。 単純ミスでした。 = ~s///が =~ s///でした。 申し訳ありませんでした。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |