OPEN "/dev/stdin" FOR DEVICE AS in FUNCTION get_odd() LOCAL ch, letter ch = MEMORY(1) GETBYTE ch FROM in IF NOT(REGEX(CHR$(PEEK(ch)), "[[:punct:]]")) THEN letter = get_odd() PRINT CHR$(PEEK(ch)); ELSE letter = PEEK(ch) END IF FREE ch RETURN letter END FUNCTION mem = MEMORY(1) PRINT "Enter string: "; WHILE TRUE GETBYTE mem FROM in PRINT CHR$(PEEK(mem)); IF REGEX(CHR$(PEEK(mem)), "[[:punct:]]") THEN IF PEEK(mem) <> 46 THEN POKE mem, get_odd() PRINT CHR$(PEEK(mem)); END IF IF PEEK(mem) = 46 THEN BREAK END IF WEND FREE mem CLOSE DEVICE in PRINT