[Perl]



@ISAはpackageが属する(継承する)クラスを指定するために使用されます。 以下の例ではCowがAnimalであることを指しています。Cow->speakとした際、Cow::speakは存在しないため、その親であるAnimal::speakを辿っていき、a Cow goes mooo!と出力されます。Cow IS A(n) AnimalだからISAみたい・・・

@Cow::ISAの部分は @ISA = qw(Animal)ともかけますが、use strict宣言をしている場合にはエラーになります。@Cow::ISAの代わりに、our @ISA= qw(Animal) もしくは use base qw(Animal)も使用できます。

[例: O'REILLYのPerl Objects, References & Modules からの抜粋]
#/usr/bin/perl

use strict;

{ package Animal;
  sub speak {
  my $class = shift;
  print "a $class goes ", $class->sound, "!\n";
  }
}

{ package Cow;
  @Cow::ISA = qw(Animal);
  sub sound { "mooo" }
}

Cow->speak;


[関連記事]
use base - クラスの継承
perlモジュールの作成方法

広告
新版Perl言語プログラミングレッスン入門編 新版Perl言語プログラミングレッスン入門編
¥ 2,835 / 売り上げランク: 8432 / 512 ページ

非常に分かりやすい。
今までにも様々な参考書に目を通してきていたが、その中でもこの本かなり読みやすく、丁寧に書かれていた。
初心者には特にお勧め。
初心者以外の方でも軽く目を通す価値はあると思う。

Code Reading―オープンソースから学ぶソフトウェア開発技法 Code Reading―オープンソースから学ぶソフトウェア開発技法
¥ 5,460 / 売り上げランク: 8967 / 523 ページ

CodeCompleteとCodeReadingを併せて読むとよいと、
組込み系のSESSAMEプロジェクトのメーリングリストと、
OS系のTOPPERSプロジェクトのメーリングリストで推薦を受けました。

CodeCompleteは読んだことがあったので、CodeReadingを読んでいます。

オープンソースを仕事にしているので、たいへん役立っています。

MISRA-Cは研修で取り上げてきたので、本書も研修の資料としても取り上げるように準備中です。

初めてのPerl 初めてのPerl
¥ 3,780 / 売り上げランク: 11000 / 379 ページ

いわゆるリャマ本として知られる定番書

初めてのとあるが初心者向きではないと思う。
よくできてはいるが、、。