2005年4月 1日

[linux-users:104768] Re: Fedora Core 3でのPerlの動作について


すがのです。
外してるんじゃないかとは思うのですが、一応。

At Fri, 1 Apr 2005 16:42:59 +0900,
seijun86@xxxxx wrote:
> hello.plの中身は
> [seijun@xxxxx ssi]$ cat hello.pl
> #!/usr/bin/perl -w
>

> print STDOUT "Hello Perl World !!\n";

これがソースなわけですよね。

> perlからhello.plを実行すると
> [seijun@xxxxx ssi]$ perl hello.pl
> Hello Perl World !!
> と正常に表示されます。

これは /var/www/html/ssi/hello.pl が実行されてますよね。

> ところが、hello.plを実行ファイル化して、直接実行させても
> [seijun@xxxxx ssi]$ hello.pl
> [seijun@xxxxx ssi]$
> 何も表示されません。しかし、リダイレクトすると、
> [seijun@xxxxx ssi]$ hello.pl > doc
> [seijun@xxxxx ssi]$ cat doc
> Hello Perl World !!
> とちゃんと記録されています。

この二つは、/var/www/html/ssi/hello.pl ではなく、$PATH/hello.pl が実行
されているのではないですか?
カレントディレクトリは通常$PATHに含まれませんから、この入力で
/var/www/html/ssi/hello.pl が実行されてるとは考えにくいです。

もしそこに別の hello.pl があって、

print STDOUT "Hello Perl World !!";
~~~
というようなソースだとしたら、こういう挙動はありえるかと思います。
環境変数PS1の文字列で出力が上書きされちゃうわけですね。去年か一昨年あ
たり、そういうバグがbashにあったように思います。(うろ覚えですみませんが)

ついでにパーミッションも念のため確認した方がよいかも?

--
狐志庵
Sugano Yoshihisa(E) <mailto:koshian@xxxxx>
Website: < http://www.misao.gr.jp/~koshian/>;
PGP fingerprint [6367 2352 3995 214E B954 A1FE 33D9 C918 606F 7C15]


投稿者 xml-rpc : 2005年4月 1日 18:43
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/9978
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。