三項演算子は左辺値にも使える
$var = $bool ? $foo : $bar;
という書き方はよく見ますが、
if ( $bool ) { $foo = $value; } else { $bar = $value; }
実は、こういう書き方も、
$bool ? $foo : $bar = $value;
こう書くこともできます。
可読性とのトレードオフを考慮して使用してください。PBP の Damian 氏は非推奨派です。
LVALUE 属性のなせる業ですね。他に substr() も左辺値に使えます。
ちなみに、この機能はビルトイン関数以外にも Attribute を使って、サブルーチンやメソッドに自分でも実装できます。
詳しくは、perldoc perlsub を lvalue で検索してみてください。
http://perldoc.jp/docs/perl/5.10.0/perlsub.pod