「substr("BCD",0,0)」が返す定数に「A」を代入しようとしている。
'X' = 'A'
とかしているのと同じ。