Insert dynamic values into a hash

I have a loop that I am trying to put key values pairs into a hash
from. There are 6 rows of data,
when I do a outputHash.inspect all I get is the last value. Where do
the other values go or what I am I doing wrong?
row.each {|line|
line =~ /^\s*\d+\s*\S+\s*\S+\s*(\d+)\s*\D+(\d+)/
port_num = $1
if $1
status = $2 =~ /0/ ? “Available” : “Not Available”
outputHash = {port_num => status}
}
outputHash.inspect

On Tue, Jul 29, 2008 at 10:04 PM, Me [email protected] wrote:

                      outputHash =  {port_num => status

You are overwriting outputHash here.

You probably want outputHash[port_num] = status

On 30 Jul 2008, at 04:04, Me wrote:

     outputHash =  {port_num => status}

}
outputHash.inspect

outputHash = {port_num => status}

This creates a new hash each time. You want outputHash[port_num]=status
(and the variable needs to exist before the block (becaused of scoping)

Fred