重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

はじめまして。
最近、perlの勉強をはじめたばかりの初心者です。
初歩的なことだと思うのですが、分からないことがあったので教えて頂ければ幸いです。

メールアドレスを認証するためのCGIを作っています。

下記は$passwd.htmlという名前のファイルを作って、soudan.htmlの内容を書き込んで保存する部分のスクリプトです。

#乱数htmlを読み込む
open(IN,">$passwd.html");

#相談htmlを読み込む
open(HTML,"soudan.html");
while($line=<HTML>){
print IN $line
};

#乱数htmlを閉じる
close(IN);

実行してみるとcgiとおなじファイルに「$passwd.html」ができました。

cgiのあるディレクトリの下の階層にファイルを作りたいと思っていろいろ調べてみたのですが、どのようにしたらいいのかよく分かりませんでした。

cgiのあるディレクトリより下の階層にファイルを作るにはどうしたらいいのでしょうか?
詳しい方、教えて頂ければ幸いです。

あと、こちらのサイトも役立つと思うのですが、oerlのプログラミングで困ったときに相談できる掲示板やサイトなどがありましたら教えてください。

A 回答 (2件)

">./kasou/$passwd.html"



とかじゃダメですか
    • good
    • 0
この回答へのお礼

ありがとうございました。
やってみたらうまくできました。
初歩的な事がよく分からないので助かりました。
ありがとうございました。

お礼日時:2005/06/20 18:56

#乱数htmlを読み込む →「書き込む」だと思う


open(IN,">$passwd.html"); →書き込みなのに「IN」は誤解を招くと思う

#相談htmlを読み込む
open(HTML,"soudan.html");
while($line=<HTML>){
print IN $line →ここに;がないと動かない
}; →ここに;はいらない

#乱数htmlを閉じる
close(IN);

#################
添削みたいな真似して失礼いたしました。
>実行してみるとcgiとおなじファイルに「$passwd.html」ができました。
cgiとおなじディレクトリということですよね。

相対パスで指定した場合は、常にcgiのファイルがあるディレクトリが基準となります。
mendokusさんのおっしゃるとおり、">./kasou/$passwd.html"などとしてあげればよいと思います。もちろん、保存先のディレクトリは予め作成しなければいけませんが。それとも、「下の階層」というのは">../$passwd.html"のことでしょうか。

もし、ご提示のコードそのものが目的でしたら、ファイルのコピーでもいいと思います。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=151014
    • good
    • 0

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