关于函数参数传递的问题

关于函数参数传递的问题

这个问题困扰了很久。书上也没有描述。今天总算有点眉目,只是不知道想的对不对。问题如下:

进行普通的函数调用时传递的第一个参数就是调用的第一个参数。当对象与包绑定时,传递的第二个参数才是调用的第一个参数。那么传递的第一个参数是什么?感觉好像是调用者本身。

普通调用
package student;
sub new{
        my $arg = shift;
        print $arg;
}
new(33,34);

结果:33。
绑定之后调用
package student;
sub new{
        my$arg = shift;
        my$score = shift;
        my$r_score = \$score;
        print"$arg        $$r_score\n";
        bless $r_score,student;
        return $r_score;
}

$stu1 = student->new(32);
结果:student        32

参见精华区
perl中的 " -> " 这个符号,主要用作什么