If slow pipes are really the problem, you could always use the same workaround that systems without pipes use: disk files. foo | bar can be emulated with foo > /tmp/foo.$$ bar < /tmp/foo.$$ rm /tmp/foo.$$ Of course, this assumes adequate disk space for the temp file. Mark