CGI-BBS > CGI > Perl > perlでのファイル指定


カレッヂ
カレッヂ


質問者 アルル  投稿日 3/17(日) 15:57:30
perlでのファイルパスについての質問です。
ふつうファイル指定の場合
require './j-code.pl'
のようにしますが
これをホームディレクトリを表すチルダを使用して
require '~/cginbin/j-code.pl'
のような指定はできるのでしょうか?

またこれができない場合ホームを表す
他の表記方法はあるのでしょうか?

以上ですがご存じの方いらっしゃいましたら
ご教授よろしくお願いします。
回答者 しあわせのツボ  [削除]  投稿日 3/18(月) 10:55:21
> require '~/cginbin/j-code.pl'
> のような指定はできるのでしょうか?
これはできません。
一般にCGIはnobody権限で実行され、所有者の権限で実行される訳ではないので、そもそもホームディレクトリ自体が違ってしまうためです。

> またこれができない場合ホームを表す
> 他の表記方法はあるのでしょうか?
絶対パスで表記すれば可能です。
たとえば~が/usr/home/mydirにあたる場合、
/usr/home/mydir/cgi-bin/jcode.plのように表せます。
絶対パスがどうなっているかは、ホームでpwdコマンドを打って表示させるか、サーバ管理者に問い合わせてください。
質問者 アルル  [削除]  投稿日 3/18(月) 17:05:23
ご回答有り難うございました。
>一般にCGIはnobody権限で実行され、所有者の権限で実行される訳ではないので、
>そもそもホームディレクトリ自体が違ってしまうためです。
なるほど分かりました。
絶対パスでやってみようと思います。
ありがとうございました。


このページは終了したので返信(回答)は書きこめません

Web裏技