メソッド下調べ

メソッドとは特定のクラスに関連づけられたサブルーチン

package Klass;

sub method {
    #処理
}

パッケージの中にサブルーチンを書くだけで,パッケージに関連付けられる.

$obj_refが先ほどのKlassオブジェクトへのリファレンスである場合,そのオブジェクトのKlass::methodを呼び出すには「アロー」を用いてこう書く.

package main;

$obj_ref->method('arg');

これは$hash_ref->{'key'}のような要素の参照と同じ.対象がメソッドになっただけ.

アローを用いたメソッド呼び出しをした場合,サブルーチンは下記のように呼び出されたのと同じこと

Klass::method($obj_ref, 'arg')

このようにメソッドは第1引数にオブジェクトのリファレンスをセットする.

下記のようにすれば$selfとして,オブジェクトのリファレンスを受け取れる.

package Klass;

sub method {
    my ($self, @args) = @_;
    #処理
}

Perlにおいてはメソッド内でオブジェクトのリファレンスを使うのに,プログラマ自ら$selfをコンテキストとして設定する必要がある,ということ.
ちなみに中身はともかくこのオブジェクト(レシーバとかいう)を,C++/Javaではthis,Rubyではselfに自動的に設定します.また,PythonではPerlと同じように第1引数で受け取ります.

アロー構文?アロー演算子?アロー記法

同じ説明の部分で違う言葉が使われている.ホントは原著に当たるべきなんだろうけど.

arrow notation, arrow syntax, arrow operator

ふーむ.バラバラだ

あえて「矢印」「アロー」か?