cmd < elements(and variant with<>) inzshwhich does something similar tocat -- elements | cmd(as innl < *.txt,nl < {foo,bar}.txtbutnl < foo.txt < bar.txt).cmd > elements(and variants with>|>>...) inzshwhich does something similar tocmd | tee -- elementselements() { code; }inzshto define one ore more functions at once (or nothing if elements resolves to an empty list (though a literal() { echo x; }is an anonymous function)).compound=(foo=(elements) elements)ormatrix=((elements) (elements))and so on inksh93.- etc.
In those contexts, typically, globs are expanded and you need to quote your expansions if you don't want split+glob (or just empty-removal with zsh unless you enable the shwordsplit/globsubst sh-compatibility options) to be applied to them.