- ベストアンサー
CGI/Perlで作成したプログラムのホスティング先をWindowsサーバに移行した際のファイルオープンエラーについて
- CGI/Perlで作成したプログラムをWindowsサーバに移行した際に、ファイルオープンエラーが発生しています。
- ファイルの更新権限に関する問題の可能性があります。
- WindowsサーバではUNIX系とは異なり、フォルダーのパーミッション設定が存在しないため、解決方法がわかりません。アドバイスをお待ちしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>open(IN,">temp1.txt") || &error("Can't open $file"); 上書き専用モードで開くと、だめだが入力用で開くと開けるということですね。 INというファイルハンドルをつけているということは、 open(IN,">temp1.txt"); とちょっと変・・ではあるけど、IN だろうがOUTだろうがファイルハンドルにすぎないのでかまいませんが、 他のオプションでは? open IN,"textA.txt" or die "open IN 失敗 :$!"; open OUT,"textB.txt" or die "open OUT 失敗 :$!"; while($input = <IN>){ print OUT $input; } close IN; close OUT; をためしてみ。
その他の回答 (1)
- seastar3
- ベストアンサー率69% (99/142)
ウインドウズビスタ以降では、フォルダのプロパティに[セキュリティ]タブがあります。 そのフォルダごとに利用者および利用グループの権限が細かく設定できるようになっているので、Administratorまたはuserまたはeveryoneまたは管理者グループまたは利用グループに権限設定し再起動して動作を確かめていくと動くかもしれません。 また質問内容中の">temp1.txt"の部分はリダイレクト操作に見えますが、フォルダの指定のつもりなのかもしれないと考えました。つまり、フォルダの指定だったら、"./temp1.txt"が目的のファイル位置指定になります。
お礼
情報ありがとうございます。ホスティング提供者のツールで、UNIXのパーミッション相当を設定するものが見つかりまして、そのツールでR権限を該当フォルダーに付与したところ、動くようになりました。 ありがとうございました。
お礼
情報ありがとうございます。ホスティング提供者のツールで、UNIXのパーミッション相当を設定するものが見つかりまして、そのツールでR権限を該当フォルダーに付与したところ、動くようになりました。 ありがとうございました。