function split(str, delim) -- Eliminate bad cases... if string.find(str, delim) == nil then return { str } end local result = {} local pat = "(.-)" .. delim .. "()" local lastPos for part, pos in string.gfind(str, pat) do table.insert(result, part) lastPos = pos end table.insert(result, string.sub(str, lastPos)) return result end s="" while true do s += io.read() if line == nil then return end t = split(s, " ") for k,v in pairs(t) do print(v) end