• ベストアンサー

perl のif文(条件式)内に代入式は使えない?

例えば、$a =1 という代入式を、if 文の条件式として、( $a = 1){ } とするとエラーが出ますが、代入式はif文の条件式として使えないのですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

手持ちのperlで試しましたが、ご希望の動作をしましたよ。 % perl -v This is perl 5, version 36, subversion 3 (v5.36.3) built for amd64-freebsd-thread-multi % perl if ($a = 1) { print "true"; } else { print "false"; } # 改行後にCTRL-Dで入力終了 true

noname#260868
質問者

お礼

あれ、できますねW なにか違うエラーだったのかな。 助かりました。

Powered by GRATICA

その他の回答 (1)

  • retorofan
  • ベストアンサー率34% (435/1276)
回答No.1

if文の括弧の中に代入式をいれたらエラーが出た。 ということは、そうした方法は使えないという意味です。  括弧の中には条件式を入れたらエラーが出ることなく、 正常に機能します。 例えば、条件式に比較演算式を入れて if ( $a == 1 ) { # ここにコードを書く }

noname#260868
質問者

お礼

ありがとうございます! 妙な制限がありますね。

Powered by GRATICA

関連するQ&A