Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  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;
}
  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。