三項演算子は左辺値にも使える

$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