False and if are probably as simple as you think they are...
irb(main):001:0> foo = false
=> false
irb(main):002:0> if foo; puts "I'm foo!"; end
=> nil
irb(main):003:0> foo = true
=> true
irb(main):004:0> if foo; puts "I'm foo!"; end
I'm foo!
=> nil
irb(main):005:0>
Chances are you're doing something else wrong... What does, "The script
doesn't work correctly" mean? Is an exception thrown, are you getting
incorrect results?
I think something else is going on. Even if I use a string, the script
doesn't work with my equivalent of false. I need to recheck the logic.
What's your code?
What had happened was that things that were supposed to happen in the
script weren't because my memory card was off line. (The first responded
didn't see my CORRECTION, and he was correct in assuming something else
was wrong). Being new to Ruby I was surprised that the missing card
(which needed to be read) didn't cause an error. After the first posting
I simplified the problem and realized it wasn't the false that was
causing the problem. Later I sorted out what was really going on.