メンバにオブジェクトをキャッシュする

メンバ変数にオブジェクトとかをキャッシュするときに、

 sub hoge {
     my $self = shift;
     return $self->{_obj} if $self->{_obj};
     return $self->{_obj} = MyClass->new;
 }

という風にやってたんだけど、なんかのソースで、

 sub hoge {
     my $self = shift;
     return $self->{_obj} ||= MyClass->new;
 }

とやってるのを見て、おぉこりゃ美しい!と思ってそれ以来こればっかつかってまつ。