現在業務でPerlを急に使う事になり、一応プログラムを組みサーバーマシンにUPする事になったのですが。。。

向こうにPerlのパスを聞いた所「必要ありません」との答えが返ってきました。。。私が勉強したいくつかの本(リャマ本含む)ではパス=必要と言う認識があるのですが、必要無い場合もあるのですか?こんな事は初めてなので分かる方教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

NTサーバなんですね。

。。
perlと聞いて、UNIX系だと思ってました。
であれば、パスの記入は必要ありません。
形式的に書いておいてもいいですが、なくても動きます。
    • good
    • 0
この回答へのお礼

NTだと無くても動くんですか。ありがとうございます。これからも色々と挑戦していきたいと思います。

お礼日時:2001/11/13 11:07

こんにちは。


ええと、「向こう」とは、クライアント?
プロバイダでその返答はギモンですし^^;

私も業務でPerlにてWebサイトなど作っていましたが、確か、パス不要で動くサーバがあったような、、、^^;

とにかく動いたので、深く追求しませんでした。
理由まで説明できなくてごめんなさい。><
    • good
    • 0
この回答へのお礼

ありがとうございます。管理者と打ち合わせしながら進めて行きたいと思います。

お礼日時:2001/11/13 11:08

> 向こうに「パスって?」と聞かれた時に


> 「#!/usr/bin/perlとかって最初に書く部分はどうなっているんですか?」と聞いた所「必要ありません」と言われたんです。

その聞き方をしたのに回答が得られないとは、ちょっと「?」なプロバイダですね。
たまたまその担当者が無知だったか、質問の意味を取り違えただけなのかも知れませんが…

まず、「必要ありません」という回答は、はなはだ疑問です。
スクリプトを単独で起動して実行させるためには、#!~ の行は必ず必要ですから。

そのプロバイダは、telnet でログインできますか?
もしできるなら、ログインして which perl などとやってみれば、Perl のパスが表示される筈です。

telnet できないところなら、ftp で入って dir コマンドで調べられる可能性はありますが、大抵の場合、ftp も自分のディレクトリにしかアクセスできないようになっている場合が多いので、やはりはっきりと「perl コマンドがインストールされているディレクトリ名は何ですか?」と、再度聞いてみるしかないかも知れませんね。

この回答への補足

仕事上なのでプロバイダではなく社内でサーバーマシン(NT機)をたててLANで繋がっています。ファイルの転送形式もftpじゃなく、その端末にLAN経由で送ると言った形です。
この状態でPerlのパスは調べれるんでしょうか?

補足日時:2001/11/13 10:00
    • good
    • 0

単に「Perlのパス」とだけ言われると、バイナリの置き場所なのか、モジュー


ルの置き場所なのか、はたまた外部コマンドを呼び出すときのための PATH 環
境変数なのか、あいまいです。そのために、双方で意味が食い違ったのでしょ
う。

honronさんの意図は、/usr/bin/perl か /usr/local/bin/perl か知りたいと
いうことでしょうか?それならそうと、用語を使わず、はっきり聞けばいいと
思います。

この回答への補足

すいません説明不足でした。
向こうに「パスって?」と聞かれた時に
「#!/usr/bin/perlとかって最初に書く部分はどうなっているんですか?」と聞いた所「必要ありません」と言われたんです。ごめんなさい途中を飛ばして質問してしまって。

補足日時:2001/11/13 09:13
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

Qperlのパスについて

プロバイダーは DIONなんですが、perlのパスが判りません。どなたか教えて下さい。宜しくお願いします。

Aベストアンサー

DIONでは自作CGIは不可のようです。
提供CGIの場合はPerlのパスは気にしなくていいはずです。

参考URL:http://www.dion.ne.jp/service/homepage/spec_h.html

Qwindows環境でのperlのパス

以下の環境で開発をしています。

OS: windows XP
ActivePerl 5.8.8
apache 2.0.64

レンタルサーバで利用しやすいようにperlスクリプトの第1行目に
#!/usr/bin/perl
を記述していますが、ActivePerl のありどころが C:\dev\perl\bin\なので第1行目を
#!/dev/perl/bin/perl 
にしなければなりません。
#!/usr/bin/perlの記述をそのまま使う為に巷でよく言われているようなwindowsのジャンクション機能を利用しています。
Cドライブ直下に「usr」ホルダを作り、ここにC:\dev\perl\bin\のジャンクションを設定しました。
するとC:\usr\を覗くとbin\が存在します。つまりC:\dev\perl\bin\はC:\usr\bin\でアクセスできるようになります。
しかしこの状態で#!/usr/bin/perlの記述をそのまま使うと500エラーが出ます。
これ以外に何か良い方法はございませんでしょうか?

また同じような開発環境の皆様はperlスクリプトの第1行目をどのように対策されていますでしょうか?
宜しく御教授お願いいたします。

以下の環境で開発をしています。

OS: windows XP
ActivePerl 5.8.8
apache 2.0.64

レンタルサーバで利用しやすいようにperlスクリプトの第1行目に
#!/usr/bin/perl
を記述していますが、ActivePerl のありどころが C:\dev\perl\bin\なので第1行目を
#!/dev/perl/bin/perl 
にしなければなりません。
#!/usr/bin/perlの記述をそのまま使う為に巷でよく言われているようなwindowsのジャンクション機能を利用しています。
Cドライブ直下に「usr」ホルダを作り、ここにC:\dev\perl\bin\のジャンクションを設定しま...続きを読む

Aベストアンサー

C:\dev\perl\bin\ だけのジャンクションを作成したのが失敗だと思います。
C:\dev\perl\Site やC:\dev\perl\lib など他に色々とフォルダがあり、基本のpmなどはそこから読み込むので。

リソキのlinkd.exeを使っているなら、

> linkd C:\usr C:\dev\perl

とやるべきじゃないですかね。

Qgooコミュニティーのperlへのパスって何でしょうか?

題名のとおりです。誰か知ってませんか?

Aベストアンサー

無料カウンタサービスを使って、
<IMG SRC=...>でいれるというのはどうですか。

参考URL=ダブルカウントはどうなるか知らないけど、
無料カウンタの一例

参考URL:http://face.u-aizu.ac.jp/

QPerlの実行パスを自動で変更する方法はありませんか?

Perlで1行目に書く実行パスを自動で変更することはできないでしょうか?
例えば、自分のPCで動かす場合は、
#!c:/Program Files/Perl/bin/perl
を有効にし、
ソースをそのままサーバにアップしたら、
#!/usr/bin/perl
に切り替わるような記述法があれば、教えて頂けないでしょうか。
宜しくお願い致します。

Aベストアンサー

"c:/Program Files"ということは,Windows OSで ActivePerlあたりを使っているということでしょうか。

Windowsであるなら基本的にshebang行は無視して,PATH環境変数を参照することで実行プログラム perl.exe を探しに行くんじゃないですか。1行目が "#!/usr/bin/perl" のままだとWindowsでは実行できなかったというのは確認した事実ですか?

shebangとは
http://www2.u-netsurf.ne.jp/~alt/mt/archives/20031116_1651.html

Windows版Apacheでshebang行を無視する設定
http://www.310f.com/exocet/hiki/

Qperlのパスに-wをつけないと500エラーに

お世話になります。
サーバー会社のトラブルで移転しなければならなくなったのですが、
移転後、cgiの挙動がおかしくなってしまいました。

バージョンperl5.8.8

サーバーOS CentOS


なぜかperlのパスに-wをつけないと500のエラーになってしまう状態

#!/usr/local/bin/perl -w


print "Content-type: text/html\n\n";

print "test";


これだけのスクリプトでも -wをつけないと500エラーになってしまいます。
-wをつけると動作します。

以前、稼働していたcgiもすべて-wをつけないと稼働しなくなってしまいました。

考えられる原因はどのような事がございますでしょうか。

(root権限のある専用サーバーとなります)

四苦八苦しているのですが、どうしても解決できない為、何卒宜しくお願い致します。

他に必要な情報などございましたらご指摘いただけますと幸いです。

Aベストアンサー

>こちらは旧サーバーからファイルをtar.gzで圧縮してローカルに落とし、新サーバーへtar.gzをバイナリ転送後、新サーバー側で展開する形で移転しましたので転送モードの相違はないと思いますがどうでしょうか。

と言うことですが、症状からすると改行コードの問題(もしくは目に見えない文字の問題)です。

サーバーにログオン出来るなら、
$ cat -v xxxx.cgi | head

で、
#!/usr/local/bin/perl
と表示されるか(これが正常)、あるいは、
#!/usr/local/bin/perl^M
と表示されるか、あるいは、^Mでない別の何かがくっついてないか、確認してください。

あと、可能ならapacheのエラーログを確認してください。


このカテゴリの人気Q&Aランキング

おすすめ情報