クラス

Perlにおいて、クラスの正体はモジュールである。

Perlでオブジェクト指向プログラミング - Perlプログラミング入門ゼミ - Perlでテキスト処理・Linuxサーバー管理・Webシステム開発

ただし、オブジェクトを作る方法が特殊で、オブジェクトの正体はリファレンス(だいたいハッシュリファレンス)であり、組み込み関数blessを使って、オブジェクト(=リファレンス)とクラス名を紐づける作業が必要になる。

method1はそのまま出力、method2は第1引数を出力、method3は第2引数まで出力。

無名ハッシュリファレンス$objを用意して、blessに$objとCustomClassを渡す。
blessのこの仕組み、これはもうこういうものとしか言いようがない。
この謎の呪文の後に、アロー演算子でメソッドを呼び出す。
method2でも引数は渡さず、method3で1つだけ渡す。

[bg1@dti-vps-srv93 class]$ vi CustomClass.pm
[bg1@dti-vps-srv93 class]$ vi class.pl
[bg1@dti-vps-srv93 class]$ perl class.pl
method1
method2
$arg1 = CustomClass=HASH(0xe3ea68)
method3
$arg1 = CustomClass=HASH(0xe3ea68)
$arg2 = ABC
[bg1@dti-vps-srv93 class]$

ちゃんと呼べてる。
そして実は、第1引数は、オブジェクトそのものが渡されるので、出力ではこういう形になっている。
第2引数以降に、独自の引数"ABC"が渡される。

Sample/perl/class/class/src/class at master · bg1bgst333/Sample · GitHub