I know my Subject line looks like heresy in this newsgroup, but I
can't figure out how I'm screwing up in this bug.

I posted the program at http://www.pastie.org/1849430
It reads in a little control data, which is displayed at
http://www.pastie.org/1849434

The program reads in the control data and stores it in hash containing
two hashes in this case, which represents the two pseudo-hashes in the
control data.

My problem is conflicting output by the statements numbered 155 & 156:
	  puts %[%d\t%s => %s] % [num+=1, key, value]
	  print " key = "; p key
which respectively yield the following as the 4th and 5th output lines
of the program:
	  1	 BackupFile => {:filename => "BackupFile.rb", :path =>
".", :digits => 3}
	   key = " BackupFile => {:filename => \"BackupFile.rb\", :path => \".
\", :digits"

The first of these output lines indicates to me that key ==
"BackupFile", as I expected.
But the second line seems to indicate that key == " BackupFile =>
{:filename => \"BackupFile.rb\", :path => \".\", :digits"

Can anyone suggest how I can end this inconsistency?

Thanks in Advance,
Richard