类函数调用
Class->method(@arg)===================Class::method('Class', @args);
第一个参数是类名称
对象(实例)函数调用
Instance->method(@arg)=================Class::method(Instance, @arg);
第一个参数是instace
bless的解释可参见
http://bbs2.chinaunix.net/viewthread.php?tid=981190
bless in perldoc
http://perldoc.perl.org/functions/bless.html
my $scalar;
my @array;
my %hash;
my $instance = /$scalar(/@array, %hash)
bless $instance $class;
ref in perldoc
http://perldoc.perl.org/functions/ref.html
ref EXPR
判断变量是否是reference
ref $either ? $$either #this is a reference
: "not ref"; #this is not a ref
如果EXPR是ref,返回一个非空字符串,反之返回空字符串。返回值依赖ref引用的类型。内嵌类型包括:
- SCALAR
- ARRAY
- HASH
- CODE
- REF
- GLOB
- LVALUE
- FORMAT
- IO
- VSTRING
- Regexp
my $num = 0;
my $scaref = /$num;
if (ref $scaref eq "SCALAR") {
print "this is a scalar reference./n";
}