$_="123 456 789 147,258,369,159,357"; sub d{/.{12}/s;print$&.($p= $p?0:X);die$_ for@_}d; while(<>=~/\d/&&s/$&/$p/g){ /$p{3}/?d$p:!/\d/ ?d"Tie":d }