プロが教える店舗&オフィスのセキュリティ対策術

「jcode.pl」というファイルはどこにUPすべきでしょう?

ただいまサーバー移転をしているのですが(サーバー移転は初めてです)
移転後、ひとつひとつファイルを確認していると「jcode.pl」というファイルを発見しました。
拡張子から、Perlで記述されたプログラムかな?と判断いたしました。
もしそうならば、サーバーで指定されているPerlのパスにしたがって移動させるべきでしょうか?

ちなみにこのファイルは、サーバーの(いじれる部分の)第2階層にはいっています。
Perlのパスは /usr/local/bin/perl です。
しかし、上記のパスの位置に、私が入って行くことは出来ません。

動かす必要はあるのでしょうか?
当方初心者です。まとはずれな質問をしているかもしれませんが
どうぞよろしくお願い致します。

A 回答 (3件)

jcode.pl は他のPerlスプリプトの中でrequireして使うものです。


requireがファイルを探す場所は 組み込み変数の@INCで確認できます。
特に指定しない限り、「.」即ちカレントディレクトリが含まれますので、呼び出し元のスクリプトと同じディレクトリに置けばまず間違いありません。

#!が違う件
1)移動前のサーバーでは /usr/bin の下に perl があったが、移動先のサーバーでは /usr/local/bin の下にある(でも、これだと動かないかも)
→ついでに修正しておきましょう
2) /usr/local/bin の下に perl があるが、 /usr/bin/perl にリンクが貼られてるのでどちらでもよい
3) /usr/local/bin の下にも /usr/bin の下にもそれぞれ別の perl がある。バージョンとかが違っているかも
4)#!/usr/bin/perl となっている ファイルは、別のCGIスクリプトの中で require とかされているので、 #!に意味がない
などが考えられます
    • good
    • 0

#!/usr/bin/perl


・・・・Windowsしか知らないと・・・
UNIXやLinuxでは、ファイルには
所有者 グループ 訪問者別に、実行権限 閲覧権限 書き込み権限が指定され、拡張子によって動作が決まるということはありません。
 ls (Windowsのdir)を実行してみると
Owner@office4 /cgi-bin
$ ls -l
total 12M
-rwx------+ 1 Owner なし 0 May 23 2004 &1*
-rwx------+ 1 Owner なし 0 Jan 28 2006 CSS.TXT*
 ・・・となります。
 実行ファイルの場合、そのふぁるの先頭に書かれているPathにプログラム、ここではperlを使って処理しろという意味。
 
    • good
    • 0
この回答へのお礼

>#!/usr/bin/perl
・・・・Windowsしか知らないと・・・

そうなのです、当方Macでして…。
WindowsとMacとでは、文字に表示のされ方が違うものがありますよね。

> 実行ファイルの場合、そのふぁるの先頭に書かれているPathにプログラム、ここではperlを使って処理しろという意味。

これに関しては存じておりました。しかし、

> ls (Windowsのdir)を実行してみると~
 ・・・となります。

この部分がまだ理解ができませんので、
せっかくご回答いただいた全文の内容が
自分の中でつながっていない状態です。

もう少し勉強してから読み返してみようと思います。
どうもありがとうございました。

お礼日時:2009/12/02 22:27

お使いのperlで書かれたCGIが、jcode.plを使っているなら、そのプログラムから見える場所に置いて、そのプログラムから利用できるPathをプログラム内に記入する。

この回答への補足

早速の回答ありがとうございます!
同じフォルダ内にjcode.plを使用しているCGIがありました。
CGIはちゃんと動いているようですし、
問題なさそうです。
jcode.plを動かす必要はなさそうですね。。。


ひとつだけ気になるのが、CGI内のパスが「#!/usr/bin/perl」だったことです。
同じフォルダ内なのに、このパスの書き方…。
そして、「#!/usr/bin/perl」という階層は一体どこにあるのか?
謎が増えてしまいました。

補足日時:2009/12/02 19:25
    • good
    • 0

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