定義類

通常,Perl 中的類只是包。它們可以包含資料和方法,就像通常的包一樣。

package Point;
use strict;

my $CANVAS_SIZE = [1000, 1000];

sub new {
    ...
}

sub polar_coordinates {
    ...
}

1;

值得注意的是,包中宣告的變數是類變數,而不是物件(例項)變數。更改包級變數會影響類的所有物件。如何儲存特定於物件的資料,請參閱建立物件

使類包特定的是箭頭運算子 ->。它可以在一個簡單的詞之後使用:

Point->new(...);

或者在標量變數之後(通常持有參考):

my @polar = $point->polar_coordinates;

箭頭左側的內容前置於方法的給定引數列表中。例如,呼叫結束後

Point->new(1, 2);

new 中的陣列 @_ 將包含三個引數:('Point', 1, 2)

表示類的包應該考慮這個約定,並期望它們的所有方法都有一個額外的引數。