Rob van der Heij wrote: > I went for a slightly different solution, but this is not pretty... > | x:take 1 > | dup 3 | elastic | s:synch | join 3 / / > | i:fanin
The only ugly thing I see is the slop of ELASTIC, and that's easily eliminated since you know you have to buffer each header record separately on input, and JOIN will buffer it all the same on output: \ *: | pad 18 | chop 18 | h1: take 1 | copy | dup 3 | s: synch | join 3 / / | i:fanin | *: \ h1: \ h2: take 1 | copy | dup 3 | s: | join 3 / / | i: \ h2: | top: take 4 | s: | join 3 / / | i: \ top: | join 3 / / | i: Much tidier than my JUXTAPOSE solution, I think. ¬R