This might well be a case of me not understanding my problem, but is there a way to use parameter expansion to split only on unquoted spaces? If I have myvar="my\ string", ${=myvar} results in "my\" and "var", i.e. zsh doesn't care about the fact that the space is quoted. On the other hand, myvar="my\ var", ${(z)myvar} does respect the quoted space and makes no split, but then myvar="my|var", ${(z)myvar} results in "my" "|" "var", which is not what I want in this case. So in short, is there a way to only split on space, but not split on a quoted space?