更新が無かったので、疑問を垂れ流してみる。
package a; sub new { my $class = shift; bless {},$class; }; sub foo { print "foo"; }
てのがあったとして。
my $sub = "foo"; my $a = a->new; my $code = $a->can($sub); $code->();
みたいにcanを使ったりするけれども。
動かす分には下のでもいけるわけで。
my $a = a->new; $a->$sub();
だので、canの目的というのは、使えるかどうかを判定する。
(code_ref か undef)を返す。
ってことなのよね??っていう。
でも、
$a->$sub();
って気持ち悪い。
で、動かすだけでcanを使う理由ってあるんだっけ?
と、気持ち悪さから疑問に思った次第であります。