dポイントプレゼントキャンペーン実施中!

独学でmacでパールを勉強しています。
始めてからまだ1週間くらい。
教科書みながら、print命令でファイルハンドルに指示を出してるのですが、
書き込めはできるのですが、
ファイルが無い場合、
新規に自動でファイルが作成されるはずとの記載があったのですが、
何故か、自動でファイルが生成されません。
調べても、設定が必要等言われてますが、
mac自体も初心者でほとんどわかりません。

どのような設定にすればいいのでしょうか?
また、ソースに何か悪い所があるのでしょうか?
お助けください。
 
ちなみに下記がソースです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>アクセスカウンタ</TITLE></HEAD>\n";
print " <BODY>\n";
print "<H1>test</H1><HR>\n";
if ( open ( FH , "count.txt")){
$cnt = <FH>;
close( FH );
$cnt++;
print"<CENTER>あなたは${cnt}人目の訪問者です。</CENTER>\n";
if ( open(FH, ">count.txt" )){
print FH $cnt;
close(FH);
}
else {
print "ファイルの書き込みオープンに失敗しました。\n";
}
}
else {
print "ファイルの書き込みオープンに失敗しました。\n";
}
print "</BODY>\n";
print "</HTML>\n";
__END__

ーーーーーーーーーーーーーーーーーーーーーーーーーー

A 回答 (1件)

> open ( FH , "count.txt"))



「読み込みモード」のopenはファイルが無いと「失敗」するだけで「作成」はしませんよ。
これは、MacとかPerlとか関係無しに、ほぼ全てのOSと言語で同様です。

この回答への補足

ご回答、ありがとう御座います。

上記ではできないんですね。

ただ、書き込み実験のためだけに


#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>test</TITLE></HEAD>\n";
print " <BODY>\n";

print "<H1>test</H1><HR>\n";

open ( FH ,">tukuruzo.txt");
print FH "tukuruzo";
close ( FH );


print "</BODY>\n";
print "</HTML>\n";
__END__

と打ってみて、実験してみてるんですが、
これだけ単純に作っても、
テキストファイルが作成されないのです。

これはなぜなんでしょうか?

補足日時:2011/02/08 23:37
    • good
    • 0
この回答へのお礼

なにかむちゃくちゃになってますね。勉強し直します。

お礼日時:2011/03/08 20:33

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