メンバー関数で大事なことは、引数の先頭に$selfをつけることです。
引数の書き方はcalc()のようにsiftでも、
calc3()のように配列でも書けます。
@_ は引数を収めた予約配列です。
calc4は自分のメンバー関数calc3()を使う方法を示しています。
自分のメンバー関数を呼び出すには、$sel->関数 とします。
$self->calc3($j,$k);
のように記述します。
ファイル名:Human.pm
package Human;
###########
sub new
{
my $class = shift;
my $args = shift;
my $self = {};
bless($self, $class);
return $self;
}
###############
sub calc
{
my $self = shift;
my $a = shift;
my $b = shift;
my $c = $a + $b;
print “Human->calc = $c \n”;
}
###############
sub calc3
{
my ($self, $x,$y) = @_ ;
my $c = $x + $y;
print “Human->calc3 = $c \n”;
}
#############
sub calc4
{
my ($self, $j,$k) = @_ ;
print “Human->calc4 next “;
$self->calc3($j,$k);
}
##############
1;
実行ファイル名:test1.pl
実行ファイルの内容:
use Human;
my $man = Human->new();
$man->calc(1,2 );
$man->calc3(3 , 4 );
$man->calc4(10,20 );
実行結果
>perl test1.pl Human->calc = 3 Human->calc3 = 7 Human->calc4 next Human->calc3 = 30 |