01. 不明なエラーケース

1000行超えのスクリプトなどで、昔起きて困りました。

ブロック文の書き方

if($A==1)then

xxxx

end

なんてとき。経験的には、以下のように書くとハマりません。

if ( $A == 1 ) then

わかりますか?

ifスペース(スペース$Aスペース==スペース1スペース)スペースthen

です。え?そこスペースいらんでしょ?という方。そうなんですけど、そうでもないんですよ。最初に出会ったのが、1000行超えスクリプトの引き継ぎかつ修正が入った時。いじっていないところでエラーが出まして。え?なんで?

試行錯誤の結果すべてのブロック文に対して、わざわざスペースを入れることで直りました。