I've found myself writing the following code to address needs I have
processing formatted text files, but is this possible some other and I
am going through foolish gyrations here...

Here is the code:

 class Array
    alias :orig_each :each
    def each(cnt = 1, &blk)
      if cnt == 1
         orig_each { |x| blk.call(x) }
      else
         0.step(self.size - 1,cnt) do |i|
            yield(self.slice(i,cnt))
         end
      end
   end
 end

so I can do things like this

arr = [ key, value, value, key, value, value, key, value, value, ... ]
arr.each(3) do |key,val1,val2|
   #manipulate them as I see fit
end

Thanks for any help you can give!

Charles Churchill
Account Executive
Datatek, Inc.
800 536-4835 ext. 145
1 919 425-3145 (international)
churchill / datatek-net.com