http://www.perlmonks.org?node_id=11113229


in reply to Strange interaction between print and the ternary conditional operator

Also, try it with commas instead of concatenation and you won't need parentheses and you won't have this problem:

print 'foo, ', 1 ? 'yes' : 'no', ' bar';
print 1 ? 'yes' : 'no', ' bar';