Alan Ackerman wrote:
> x'00' cannot appear in "word", and will always be treated as a
> word-separator, but I'm OK with that.

Here's a solution that just occurred to me that eliminates the need to
substitute anything:  CHOP the word out of the record, and then VERIFY
that the characters before and after it are word separators.  

 'CALLPIPE (endchar ?)',
  '| *:',
  '| fo: fanout',
  '| p: predselect',
  '| *.output.0:',
  '? fo:',
  '| c: chop before string x'c2x(word),
  '| verify -1 x'c2x(xtable),
  '| p2: predselect',
  '| p:',
  '| *.output.1:',
  '? c:',
  '| locate',
  '| verify' length(word)+1 'x'c2x(xtable),
  '| p2:',
  '| fo:',
  '| p:'

Note that you can feed input 2 of PREDSELECT with another copy of the
original record from FANOUT, so you don't have to worry about collecting
the nonmatching records from the process in between.  Also, for the
alternate output you need output 1 of PREDSELECT, not output 2.

¬R

Reply via email to