2006-05-12

|| って左辺をscalarにしちゃうのか。

 素で知りませんでしたよ。ちなみにorは左辺をscalarにしたりしません。

my @foo = $self->meth || qw/default/;

とかやっててしばらく悩んでました。。。*1

追記

or と || は優先順位の違いだけなのでは。my @foo = ($self->meth or qw/default/); も結果は同じになりそう。

 あ、ほんとだ。比較演算子がscalarを要求して、それのタイミングで問題になるってことか。

 ということは、

sub meth {
  my $self = shift;
  my @res;
  ...
  wantarray? @res: \@res;
}

というメソッドを作って、

warn $self->meth? "true": "false";

とかやると常にtrueになるわけですね。こうするなら

  return unless @res;
  wantarray? @res: \@res;

にしろってことかな。

 いつかハマりそうだ。。。

ようやくグループにひとりオプションができた!

 ファイル共有を使いたかったので、ちょっとうれしい。

http://hatena.g.hatena.ne.jp/hatenagroup/20060512/1147402864

 あー、でも、今更かな……。

AdSenseのIDが、

 キーワードはうちのになってたけど、BBSははてなだった。

 どういう仕様なんだろう……。

*1:$self->methの戻り値がなければ@fooに'default'が入ってて、$self->methに戻り値があれば、その個数が@fooに入る。