Howdy,

I've got some code that looks like this:

     array_of_lines.each { |line|
        if line =~ /(?!st).*Soft\s+Error/../^Illegal\s+Request/
          ...
        end
     }

In Ruby 1.6.7 this code works as I'd expect ... the body of the "if" is 
executed for each group of lines ( and there are more than one) in the 
array_of_lines that falls in the range.

Under Ruby 1.8 the "if" either fails after the first matching line 
(that is the condition returns false for all lines but the first one in 
the range), or, if I try variants, raises errors. I've tried:

     if (/(?!st).*Soft\s+Error/../^Illegal\s+Request/) =~ line
     if line =~ (/(?!st).*Soft\s+Error/../^Illegal\s+Request/)
     if (/(?!st).*Soft\s+Error/../^Illegal\s+Request/) === line

These variants all raise a "bad value for range (ArgumentError)" 
exception.

How do I get back the functionality I had in 1.6.7?

Thanks in advance,

Jeff.