I think it would be helpful if you gave us a little context -- checking the value of it's contents seems like just one piece of a multi-step process.
I also tend to get suspicious when I see lots of things with names like "stepxxx" where "xxx" seems to be counting. When one has something like that, I, for one, wonder why isn't an array being used: Why doesn't your structure look like
$hash{opt}{step} =
001, 002, .....999;
This way, you could easily pull out element xxx and test its value.
Information about American English usage here and here. Floating point issues? Please read this before posting. — emc