in reply to Shortening "$bar{foo} if exists $bar{foo}"?

You can use for or foreach for aliasing variables or array/hash elements. Like this:
for($bar{foo}) { $_->() if $_; }
That's handy for very long expressions, and, when you assign something to $_, the original value of $bar{foo} will be changed too (that's what "aliasing" means), but I think you won't think it much of a gain in this simple case, either, as it still looks like your last example.