Non empty string complained to be 'nil' in equality check

I have the below code
       response = Net::HTTP.start(url.host, url.port) do
        >http>
        http.request(request)
    end
    exp_code = 450
    if(response.code.to_i != exp_code)
        raise StandardError, "Expected #{exp_code} Received
#{response.code.to_i}"
    end
    exp_msg = 'Blocked By Parental Controls'
puts 'Received status msg: #{response.message}'
    if(response.message != exp_msg)
        raise StandardError, "Expected #{exp_msg} Received
#{response.message}"
    end

The received response is
HTTP/1.1 450 Blocked By Parental Controls^M
P3P: policyref="http://p3p.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR
ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi
PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"^M
cache-control: public,must-revalidate^M
Content-Length: 0^M
Connection: close^M
Content-Type: ^M
^M

The "puts" statement is printing
Received status msg: Blocked By Parental Controls

But the next statement for inequality check fails with
can't convert nil to string

However for a different case, where the response is
HTTP/1.1 200 OK^M
P3P: policyref="http://p3p.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR
ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi
PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"^M
cache-control: public,must-revalidate^M
Content-Length: 0^M
Connection: close^M
Content-Type: ^M
^M

and I have the ruby code as:
    exp_msg = 'OK'
puts 'Received status msg: #{response.message}'
    if(response.message != exp_msg)
        raise StandardError, "Expected #{exp_msg} Received
#{response.message}"
    end

Here there is no nil problem.
I have been breaking my head and don't have the slightest clue what is
happening. Can somebody please shed some light?

···

Date: Mon, 12 Apr 2010 10:28:15 GMT^M
Date: Mon, 12 Apr 2010 10:28:29 GMT^M
--
Posted via http://www.ruby-forum.com/.

goddammit, i was fooled because the if statement was teh last statement
in the code. The error didnt happen there at all. This code is a Ruby
testframework code so it supposed to return a true/false and I was not
returning, and that has caused the cruelly meaningless error message.
sorry for wasting everyone's time.

···

--------------------------------------------------------------------------------

--
Posted via http://www.ruby-forum.com/.

Kannan Jay wrote:

goddammit, i was fooled because the if statement was teh last statement
in the code. The error didnt happen there at all. This code is a Ruby
testframework code so it supposed to return a true/false and I was not
returning, and that has caused the cruelly meaningless error message.
sorry for wasting everyone's time.

------------------------------------------------------------------------------It happens. I'm glad you figured it out.

--Alex

···

--
Posted via http://www.ruby-forum.com/\.