in reply to if condition problem

As fglock pointed out, $_ = /yes/i ? 'Yes' : 'No'; will work. I'll go a step further and say it is preferred. Returning one value or another dependent on a given condition is exactly what ?: is meant to do. It is not meant to be a short version of an if-statement.

As an aside, you might want to be a little more cautious with your regular expression. The string 'noyes' will become 'Yes' with the way you are currently doing it. Consider anchoring the pattern to the beginning of the line like: /^yes/i; to avoid an error like that. Anchor it to both ends with /^yes$/ if want to avoid something like 'yesno' being interpretted as 'Yes' as well.

-sauoq
"My two cents aren't worth a dime.";