Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. オブジェクト指向
  3. クラスのひな型

クラスの雛形

クラスの雛形を示しておきます。

1. クラスの雛形

以下がクラスの雛形になります。

package Book;
use strict;
use warnings;

# コンストラクタ
sub new {
  my $proto = shift;
  my $class = ref $proto || $proto;
  my $self = {};
  bless $self, $class;
    
  $self->init( @_ );
  return $self;
}

# オブジェクトの初期化
sub init {
  my ($self, @args) = @_;
  # 追加で行いたい処理
}

# アクセッサ
sub title {
  my $self = shift;
  if (@_) {
    my $old = $self->{title};
    return $self->{title} = $_[0];
  }
  else{
    return $self->{ title };
  }
}


sub author {
  my $self = shift;
  if (@_) {
    my $old = $self->{author};
    return $self->{author} = $_[0];
  }
  else{
    return $self->{author};
  }
}

1;

後は好きなメソッドを追加するだけですね。

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