Windows registry delete value oddity

Say I have four registry values under the same key with these names:

1. 'this_text'
2. 'this_text1'
3. 'this_text2'
4. 'this_text3'

When I run the script below, two of the values will be deleted. When I
run it again, one value will be deleted. On the third run, the last
value will be deleted. I don't understand why all of the values are not
deleted on the first run.

Win32::Registry::HKEY_LOCAL_MACHINE.open(key,
Win32::Registry::KEY_ALL_ACCESS) do |reg|

  reg.each_value do |name, type, data|

    if name.include?('this_text')

      reg.delete_value(name)

    end

  end

end

Could someone point out what I'm doing wrong?

Thanks,
Brad

···

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