代入して判定で警告される2018-05-01きっかけ天才プログラマの私が数時間ハマっていたコードです。2018年4月29日perlも確かこの手はwarningを吐く。型の扱いが結構雑なperlでcgi触ってこれにはまってしまったことがある。ifの中で誤って比較演算子ではなく代入演算子になってて、型関係なく0を代入だとifがtrueになってしまうやつ。2018年4月30日あれ、代入して判定するのは特に警告なかったよーな?true代入で判定うん、警告なかった。いう事があるのでメインフレーマーのソフトハウスに就職した際の新人教育で「左辺値式にできない物を等号比較する際は左辺に書く(意訳)」と教わりました。当時は内製の言語を使っていて似たような記述ができたんだった。"Fuga\n";}0代入で判定0代入でwarningsによる警告出た。10.これは知りませんでした。strictとwarnings大事。"Fuga\n";}でも0だからelse節に行ってる。perldoc.jp"0.0"代入で判定"0.0"なら警告が出るし真になるけれどコレじゃなさそう。やったら0代入で真になるのだろう、興味津々。リテラルを代入すると判定はいつも一緒だから警告してそう。変数から代入すると警告しなかった。booleanのtrue/falseはリテラルじゃないのかも。mojolicious。