初心者です。関数indexが通らないのは?

[上に] [前に] [次に]
まーぼー [E-Mail] 1999/09/14(火) 18:07:58
count$ = index$_ ,"ABC";
文字列を$_に入れて、上記の形で部分文字列の位置を見つけようと
したのですが、当方のプロバイダーのサーバーに落とすと以下のエラー
が出ます。
Internal Server Error
当方のプロバイダーでは、perlv4.036です。
indexはperl5からなんですか?
もし、perl5からで、このindexの代わりになるもの、あるいは
方法はありますか?

B-Cus 1999/09/14(火) 18:22:26
> count$ = index$_ ,"ABC";
こんな変な書き方、perl4でも5でも通らないっしょ。

仮に $count = index$_ ,"ABC"; だとしても、perl4では
 syntax error in file a at line 1, next 2 tokens "index$_ "
 Execution of a aborted due to compilation errors.
というエラーになります。いろんな書き方を試してみると
perl4でも index が使えることはわかるでしょう。

根本的な解決は、管理者にperl5をインストールしてもらうこと。
「perl4は時代遅れだ」と主張しましょう。

まーぼー [E-Mail] 1999/09/16(木) 10:46:36
DOS上でperl5を実行させると、$count = index$_ ,"ABC"; が
正常に処理されて実際にprint $count,"\n";をすると、値が帰って来るのは
どうしてですか?
$_="123ABC456";が入っています。

B-Cus 1999/09/16(木) 14:39:28
# あら、まともにコミュニケーションできない人かしら?

> 値が帰って来るのはどうしてですか?
perl5だからです。

perl4でも通る書き方は知ってるけど、根本的解決になってないので、
 ・管理者にperl5を入れてもらう
 ・あなたの環境にperl4を入れる
 ・サーバ上でperl4を使って、どこでエラーになっているか調べる
のいずれかを行なってください。

# お行儀よく書けば perl4 でも通ります。

[上に] [前に] [次に]