プロが教える店舗&オフィスのセキュリティ対策術

perlでHTMLを吐き出した画面をそのままHTMLファイルに変更する方法を考えています。

どうしても良い方法がわかりません。
どのような方法が良いのか教えていただけないでしょうか?お願いします。

A 回答 (3件)

こんばんは。



吐き出すと同時に同じ内容(HTML文)を新規ファイルに保存してしまえばよいですね。

例えば・・・

#!/usr/local/bin/perl

#吐き出す内容を$htmlに代入。
$html ="<html><body>\n<head><title>HTML保存</title></head>\nこんにちは</body>\n</html>\n";

#吐き出す
print "Content-type: text/html\n\n";
print "$html";

#newfile.htmlという新規ファイルを作成
open (NEWFILE,">newfile.html");

#新規ファイルに吐き出したのと同じ内容を書き込む
print NEWFILE $html;

#新規ファイルを閉じる
close (NEWFILE);

こんな風です。
ただし、この場合、newfile.htmlを保存するディレクトリ(フォルダ。上の例文ではこのcgiと同じディレクトリ)への書き込み権限がないとダメです。
    • good
    • 0

吐き出す内容を,$htmlに保存する際にヒアドキュメントを利用する方法も便利です。



$html=<<HTML;
<html>

<head>
<title>HTML保存</title>
</head>

<body>
こんにちは
</body>

</html>
HTML

これで,HTMLのソースが$htmlに格納されますので,出力するなり,ファイルに書き出すなりしたらよいです。

ヒアドキュメントの詳細に関しては,参考URLをどうぞ。


ヒアドキュメント

参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
    • good
    • 0

#1の補足です。



新規作成するファイルの名前ですが、変数を利用してcgiを実行するたびに違った名前が付くように工夫しないと上書きしてしまったり、追記してしまったりするので注意が必要です。

#1の文では毎回newfile.htmlに上書きしてしまいます。
    • good
    • 0

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