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

こんにちは。
お聞きしたいのですが、perlのif(A eq B)文で、crypt関数で暗号化した文字列の比較をしているのですが、画面に双方の変数をテスト表示をしてみて、AとBは一致しているにもかかわらず、このif文を飛ばしてしまいます。
暗号化した変数を使うのは初めてなんですが、何か可能性として考えられることはありますか?
自分でも考えられるチェックはしたつもりなんでが・・・

A 回答 (2件)

ソースの該当部分を記載して頂いた方が近道だと思いますよ。

(^_^)
    • good
    • 0

No.1 の方も書かれているように、そこの部分のソースを提示していただかないと回答のしようがないですが、一応考えられるケースとして。



問題の if 文は
  if (crypt($input, $encrypted) eq $encrypted) {
    OK処理
  }
のようになっているかと思いますが、例えばこれに " " を付けた場合、スペースや制御文字などが紛れ込んでいませんか?
つまり、例えば " $input" のようになっているとか…
制御文字が紛れ込んでいる場合は、普通にソースを表示させてもわからないので気づかないこともあると思います。
    • good
    • 0

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