このスレッドはクローズされています。記事の閲覧のみとなります。
Perlのスクリプトでパス指定について |
|
- æ¥æï¼ 2005/02/25 13:24
- ååï¼ クロエ
<[email protected]>
- 環境:FC3、Apache2系、Perl5
クロエですこんにちは、お久しぶりです
Perlスクリプトでは行頭に「#!/usr/bin/perl」などと書きますよね、で すが私の環境では「#!/usr/bin/perl -」としてハイフンを入れなければ実 行できません(500InternalServerError)となってしまいます。 おそらくは権限が無くパスが通らないと言うことなのでしょうが、何故ハイ フンを付加しなければならないのでしょうか?
# 推測ですが、-でsu権限にしなければパスが通らないと言うことなのでし ょうか...
# OSをインストールするときに、オプションとして一緒くたにしてApache 関係[HTTPD]もインストールしました、ですのでPerlはroot権限になって います。
もしこれを常用のパス(#!/usr/bin/perl)にして実行させることが出来る ようにするには、どのような設定が必要なのでしょうか。 ちなみに「which perl」の応答は「#!/usr/local/bin/perl」でした。 ハイフンに関する資料が少なく困り果てて投稿しました<定型文ですね何度もスミマセン)
>>> 管理人さんへ QRコード、ドコモみれましたよ。 対応していただけたのですね嬉しいですありがとうございます(=^ー^=) ヽ( ̄◇ ̄ヽ)<今度は携帯から投稿してみようかな)
|
■ コンテンツ関連情報
Re: Perlのスクリプトでパス指定について ( No.1 ) |
|
- æ¥æï¼ 2005/02/25 17:42
- ååï¼ stratix
- クロエさん、こんにちわ。
>何故ハイフンを付加しなければならないのでしょうか?
これはもしかすると、改行コードが関係しているのかもしれないですね。 使用しているCGIはShift-JISで改行コードがCR+LFではないですか? Unix系OSの改行コードはLFなので、CGIも改行コードLFで記述されている ものとして実行されます。ところが、もしCGIが改行コードCR+LFで書かれて いたとすると、 #!/usr/bin/perl[CR][LF] となり、改行コードLFの前に不要なCRが入っていることになり、これが 原因でperlの起動に失敗しているのではないでしょうか。 ハイフンを入れることによって、 #!/usr/bin/perl -[CR][LF] となり、perlによって無効なオプションとして無視される形になるか、 起動引数として標準入力ストリームを指定した形になるか、どちらかは わかりませんがうまく動くのでしょう。
FTPで転送している場合はASCIIモードで転送すれば、改行コードが自動的に 変換されるので、試してみて下さい。
|
Re: Perlのスクリプトでパス指定について ( No.2 ) |
|
- æ¥æï¼ 2005/02/25 20:18
- ååï¼ PINE
- スクリプトがaaa.cgiの場合
cat -v aaa.cgi として行末に"^M"が付いていたらstratixさんが仰るように改行コードがマズイです。 vsFTPDってディフォルトではアスキーモード不可になってまして いくらFFFTPとかでアスキーモードで転送しても改行コードが変換されません。 実は私もこれではまりました(汗)
|
Re: Perlのスクリプトでパス指定について ( No.3 ) |
|
- æ¥æï¼ 2005/02/26 00:17
- ååï¼ stratix
- PINEさん、フォローありがとうございます。
>vsFTPDってディフォルトではアスキーモード不可になってまして >いくらFFFTPとかでアスキーモードで転送しても改行コードが変換されません。
あ、そうなんですか。それは知りませんでした(・・;) 私は昔から使い慣れてるProFTPDにすぐ入替えてしまうので、vsFTPDについては あまり知らないんですよ…。デフォルトでASCIIモード転送不可なんですね。 1つ勉強になりました。
クロエさんの問題の原因が、改行コードとまだ決まったわけではないですが この問題はFAQとして、こちらのサイトにも追加されてはいかがでしょう?>管理人様
|
Re: Perlのスクリプトでパス指定について ( No.4 ) |
|
- æ¥æï¼ 2005/02/26 17:34
- ååï¼ 管理者
- クロエ様、stratix様、PINE様、こんにちは。
以前に別件で、メールでですが、Perlパスの後に"-"を付けて実行する方がいました。 その時は特に気にしていませんでしたが、CR+LFの問題かも知れないのですね・・・
私の方でも検証して確定した場合にはFAQとして載せさせていただきます。
|
Re: Perlのスクリプトでパス指定について ( No.5 ) |
|
- æ¥æï¼ 2005/02/28 09:34
- ååï¼ クロエ
<[email protected]>
- おはようございますヽ(∇⌒ヽ)(ノ⌒∇)ノ
昨晩は遅かったのであいさつできなかったのですが、土日に湯西川の方へ 遠出してまして報告遅れました。 Perlの件解決致しましたよヽ( ̄◇ ̄ヽ)
stratixさんの仰るとおり改行コードの問題でした、エディタはサクラエデ ィタ(クライアントはWin)を使っているのですが、一度望んでいない文字 コードで読み込んだ後に再読込(文字コード変換+改行コード変換)をかけて 保存すると前回の改行コードに戻ってしまいました。<多分バグ)(−ω−;)つ[ver1.3] 今は兼ねてクライアントでは改行コードを食べさせてから編集することにし て、特にDLする必要がないときはviを使っていこうと思いました。
# viクセはあるけど使いやすいですね
PINEさん、初期設定ではそうなんですよね_| ̄|○||| >実は私もこれではまりました(汗) 私も思いっきりはまりまくってますってヴァー(//^///)
それでは また、何かと質問するかと思いますが宜しくお願い致しますね(=^ー^=)
|
■ その他