in reply to Effecient shortcut for ?:

No, but there will be in Perl 6 (or possibly Perl 5.10):

$foo //= $bar;

The // and //= operators will behave like || but will test for defined() rather than for truth.

-sam