base

クラスを継承する。

使い方:

①親クラスを指定する。
use base qw(親クラス(パッケージ名)のリスト);

②コンストラクタをオーバーライドする場合(引数なし):
package foo2;
use base qw(foo1);
sub new {
    my $param = shift;
    my $class = ref($param) || $param;
    my $self = $class->foo1::new;
    $self;
}

③コンストラクタをオーバーライドする場合(引数を親クラスに渡す):
package foo2;
use base qw(foo1);
sub new {
    my $param = shift;
    my $class = ref($param) || $param;
    my $self = $class->foo1::new(@_);
    $self;
}

④メソッドをオーバーライドする場合:
親クラスと同じメソッドを子クラスに書けばよい。

⑤親クラスのメソッドを呼び出す場合:
package foo2;
use base qw(foo1);
sub method {
    my $self = shift;
    $self->foo1::method(@_);
}