• ベストアンサー

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

perlでHTMLを吐き出した画面をそのままHTMLファイルに変更する方法を考えています。 どうしても良い方法がわかりません。 どのような方法が良いのか教えていただけないでしょうか?お願いします。

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

  • ベストアンサー
noname#48234
noname#48234
回答No.1

こんばんは。 吐き出すと同時に同じ内容(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と同じディレクトリ)への書き込み権限がないとダメです。

その他の回答 (2)

  • mohao
  • ベストアンサー率15% (10/63)
回答No.3

吐き出す内容を,$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/pe_kj03.htm
noname#48234
noname#48234
回答No.2

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

関連するQ&A