Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発
  1. Perl
  2. 標準関数
  3. here

bless関数 - オブジェクトの生成

オブジェクトを生成するにはbless関数を使用します。Perlではオブジェクトというのはクラス名に関連付けられたデータのことです。ほとんどの場合にデータにはハッシュのリファレンスが利用されます。

# オブジェクトの生成
$obj = bless $data, $class;

コンストラクタのサンプルです。ハッシュのリファレンスにクラス名を関連付けてオブジェクトを生成しています。

# コンストラクタ
sub new {
  my $class = shift;

  my $self = {};
    
  bless $self, $class;

  return $self;
}

一般的なコンストラクタのサンプルです。引数の処理, オブジェクトから呼び出された場合の対応の処理などを加えています。

# 一般的なコンストラクタ
sub new {
  my $proto = shift;

  my $class = ref $proto || $proto;

  my $self = ref $_[0] eq 'HASH' ? $_[0] : {@_};

  return bless $self, $class;
}