Evaluated proc ascii2map_line str {set out ""; set amap [list]; set parts [split $str "\x03"]; foreach chunk $parts { set re [regexp -all -inline {^((\d+)(,(\d+))*)*(.+?)$} $chunk]; linsert $amap end [list [lindex $re 2] [lindex $re 4] [lindex $re 5]]; append out **[join $re " --- "]** };. $amap}