SUPERで、親クラスのメソッドを呼ぶことが出来る。
perlobj - Perl のオブジェクト - perldoc.jp
BaseClassのmethodは、"BaseClass::method"と出力するだけ。
DerivedClassのmethodは、"DerivedClass::method 1"と"DerivedClass::method 2"を出力し、その間に$this->SUPER::method()として、BaseClass::method()を呼ぶ。
$obj->method()を呼ぶと、
[bg1@dti-vps-srv93 SUPER]$ vi BaseClass.pm [bg1@dti-vps-srv93 SUPER]$ vi DerivedClass.pm [bg1@dti-vps-srv93 SUPER]$ vi main.pl [bg1@dti-vps-srv93 SUPER]$ perl main.pl DerivedClass::method 1 BaseClass::method DerivedClass::method 2 [bg1@dti-vps-srv93 SUPER]$
BaseClass::methodを呼べてる。
SUPERはオブジェクトでなく、そのパッケージの親パッケージクラスを指すので注意。
Sample/perl/SUPER/SUPER/src/SUPER at master · bg1bgst333/Sample · GitHub