s{(?:(.*?)|\G([^|]*?)\|)([^|]*?)(?:\||)}{ "" . (defined($1)?$1:$2) . "$3" }seg;