Sorry John to come back but, With
"! SPECs", " a: 54.5 .", " if (£1/==a) then", " set £1:=a", " set £2:=1", " else", " set £2+=1", " endif", and with 6010A or 60102 and by reducing or not my storage from 128M to 16M I receive : FPLYAC1434E Parse error in state 145, unexpected O_EQ at offset 5: "=a) then set £1:=a set £2:=1 else set £2+=1 endif 1-* 1 print £2 picture 99999 nextword" FPLMSG003I ... Issued from stage 5 of pipeline 1 FPLMSG001I ... Running "SPECs a: 54.5 . if (£1/==a) then set £1:=" FPLYAC1435I Expecting T_IDLETTER T_NUMBER T_QSTRING T_IDENT T_ID_CHAR T_CTR T_DO T T_DOTDOT T_CTRARRAY S_LP O_PLUS O_NOT F_FIRST F_EOF F_BREAK F_C2D F_C2F F_X2D F_X2F F_STRING F_AVERAGE F_VARIANCE F_NUMBER F_EXACT F_SQRT F_STDDEV F_STDERRMEA N F_TYPE F_A FPLSPE192I ... Scan at position 21; previous data "a: 54.5 . if (£1/==" Ready; T=0.01/0.01 13:39:06 De : CMS/TSO Pipelines Discussion List <cms-pipeli...@listserv.meduniwien.ac.at> de la part de John P. Hartmann <m...@jphartmann.eu> Date : dimanche, 27 novembre 2022 à 13:07 À : cms-pipeli...@listserv.meduniwien.ac.at <cms-pipeli...@listserv.meduniwien.ac.at> Objet : Re: IF testing characters On 11/27/22 12:39, a.benveni...@free.fr wrote: > " if (£1/=a) then", The numerically not equal operator converts both arguments to numbers and then performs a numeric compare. Your compare of 6010A fails because the digit A is not decimal. (Specs has no facility to compare hexadecimal.) Use /== to compare strings for not equal. With the /== operator, numbers are converted to string before the comparison. Conversion to string can fail only if you run out of storage.