class Array def sfilter *filters filters = filters.first if filters.size == 1 and filters.first.is_a?(Array) filters.collect!{|o| o.is_a?(Regexp) ? o : /#{Regexp.escape o}/} self.select do |line| !filters.any?{|re| line =~ re} end end def self.wrap value Array(value) end alias_method :filter, :select end