Well i did give the alter the hash table option as well, all tho now reading it i didnt actually mention the TABS were ment to be replaced by spaces as well, as the spaces being replaced by 255 so it would have screwed up anyway. this should suit him well enough, and its pretty simple to patch into existing code even.

alias -l data.IN { return $replace($1,$chr(32),$chr(255),$chr(9),$chr(32)) }
alias -l data.OUT{ return $replace($1,$chr(32),$chr(9),$chr(255),$chr(32)) }
;
/VAR %match = $data.OUT( $hget(TABLE,$hfind(Table,& & & & $data.in(%matchtext) *,1,w).data) )
/HADD TABLE itemname $data.IN(%normaldata)
; only thing to watch is the %matchtext also has spaces replaced with $chr(255) as i showed.