jrc> This one-liner prints "true": jrc> ruby -e "p 'true' if 1 " jrc> But this does not: jrc> ruby -e "p 'true' if 1 == true" jrc> nor this: jrc> ruby -e "p 'true' if true == 1" jrc> Why, exactly, is this? Because 1 is not *the same* as "true", but "if" statements will execute for all values other than "nil" and "false", this includes "true" and anything else (like "1" and even "0" and "" which can bite you coming from perl...). -joe