in reply to ?: conditional operators appear to fail

Also note that when you get strange behavior like this B::Deparse can help clear up how perl is parsing your code.

$ perl -MO=Deparse,-p -e '($msgFile =~ /\-opt.dat$/) ? $optsFile = 1 : + $optsFile = 0;' ((($msgFile =~ /\-opt.dat$/) ? ($optsFile = 1) : $optsFile) = 0);