プロが教えるわが家の防犯対策術!

PerlのIF文の判断式につきまして、式全体を変数にしたいのですが、うまくできません。
初歩的な質問で大変恐縮ですが、他の言語を使っている人に聞いてもできるということなので、Perlでもできるような気がするのですが、うまく動かないので教えていただけませんでしょうか。

$ifbun="index(文字列, 検索したい単語) >=0";

if($ifbun){
 処理
}

とっても簡単な式なのですが、このままですと条件式を加味しない処理結果になっています。
$ifbunの中身をそのままIFの条件式に入れると問題なく条件式どおりの結果が得られるので、プログラムは間違っていないと思うのですが、変数に入れると、条件を加味していない結果が出てきます。

どなたかお分かりの方がいらっしゃいましたら教えてください。

どうぞよろしくお願いいたします。

A 回答 (3件)

>>となりますと、Perlの場合は、IF文の条件式全体は変数にできないという認識でよろしいのでしょうか。



もし、変数の中身を条件式として使えるとなれば、「たんなる文字列」と「条件式を示す文字列」のどっちかを判別しないといけません。
それを示すものが無いですからね。
    • good
    • 0
この回答へのお礼

lv4u さん

ご回答ありがとうございました。
変数が使えたらだいぶ便利になるのですが、、残念です。。

ご丁寧にありがとうございました。

お礼日時:2014/01/21 13:52

そのままでは当然無理. 「$ifbunの中身をそのままIFの条件式に入れる」とは言っても


if("index(文字列, 検索したい単語) >=0")
なんて書いてるわけじゃないでしょ?

というわけでえばれ.
    • good
    • 0
この回答へのお礼

Tacosan さん

ご回答ありがとうございました。

はい、
if(index(文字列, 検索したい単語) >=0)
のように入れています。

お礼日時:2014/01/22 14:00

>>if($ifbun){



この場合は、$ifbun を単なる文字列とみて、その内容が入っているから、常に真ってみなされるんじゃあないですか?
つまりは、式全体を変数にできないってことではないでしょうか?
    • good
    • 0
この回答へのお礼

lv4u さん

ご回答ありがとうございます。

え!そうなんですか!
となりますと、Perlの場合は、IF文の条件式全体は変数にできないという認識でよろしいのでしょうか。

お礼日時:2014/01/21 10:45

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