続・初めてのPerl 改訂版

続・初めてのPerl 改訂版

続・初めてのPerl 改訂版


読み終わった。
「続・初めて」の癖にちゃんとテストの事まで書いてあるんだなぁ。

  • pearldoc(p.14)
    • $ perldoc File::Basename
  • インポートリストとして空リストを与えると、インポートしない(p.16)
    • use File::Basename ();
  • http://search.cpan.org/ (p.19)
  • use libを使って、include pathを付け加えられる(p.21)
    • use lib '/home/gilligan/lib';
  • 依存関係なども解決してCPANモジュールのインストール(p.23)
    • $ perl -MCPAN -e shell
    • cpan> install CGI::Prototype
  • ハッシュスライス(p.38)
    • @ $hash_ref{ qw(name position) };
  • デバッガはコマンドラインで-dをつけて実行(p.60)
  • データ構造を把握するための表示Data::Dumper(p.64)
  • サブルーチンをデリファレンスしてつかうときは「&」必須(p.77)
  • ファイルのオープンの際の良い方法(p.98)
    • open my $log, '>>', 'castaways.log' or die "Could not open castways.log: $!";
    • >>みたいのだけを、第二引数にしてしまう。
  • シュワルツ変換(ソートのテクニック) (p.113)
  • FindBin プラグマ(p.128)
    • use FindBin qw($Bin);
    • これで、現在のパスがわかる。
  • メソッド呼び出しの特別な引数 (p.140)
    • Class->method(@args);
    • 上記は下記と同じ
    • Class::method('Class', @args);
  • @ISAは「イズ ア」(p.143)
    • 意味から考えれば当然だが、思いつかなかった。
  • 継承の時はuse base qw(Animal); とか use baseをつかおう(p.144)
  • SUPER(p.147)
    • $class->SUPER::speakとかとやると、継承ツリーから親クラスの、speakを実行
  • セッターとしても使えるゲッター(p.163)
  • クラス専用メソッドと、インスタンス専用メソッド(p.164)
    • ref(my $self = shift) みたいな事をやって区別する
    • ref()はブレスされたリファレンスであるインスタンスに対して真、文字列であるクラスの場合は偽を返す
  • デストラクタはDESTORY(p.174)
    • デストラクタをオーバーライドする時は$self->SUPER::DESTROYを呼ぶ
  • 間接オブジェクト構文で書くのは止めた方が良いという主張(p.176)
    • new Classでなく、Class->new(...)をつかおう
  • クラス変数のつかいかた (p.179)
    • クラスの中で our %REGISTRYみたいにourで宣言したりする。
  • 参照カウントにカウントさせない(p.181)
    • 弱いリファレンス。weakenというのを使う。
  • UNIVERSALメソッド(p.185)
    • Javajava.lang.Objectみたいなもの
  • isa関数、can関数(p.186)
    • 継承を探ったり(isa)、メソッドがあるか(can)探ったり。
  • コアモジュールのAutoLoaderとSelfLoaderのドキュメントは、、(p.189)
    • 開発中やデバッグ中にはオートロードをオフにして、この種のコード作成をより自動化する方法が書かれています。
  • @EXPORT , @EXPORT_OK(p.198)
    • @EXPORTはuseした時にエクスポートされる
    • @EXPORT_OKは名指しで呼ばないとだめ。
  • %EXPORT_TAGS (p.199)
    • メソッドをエクスポートする時に、ある程度まとめて呼び出せるようにするためのやり方
  • use base qw(Exporter); (p.201)
  • *{ } ってなんだ?(p.203)
  • PREREQ_PM (p.222)
    • コアモジュールでないPerlモジュールに依存している場合、Makefileに書いておく必要がある。
  • $PREFIX (p.223)
    • 代替インストールの場所を(PREFIXで指定できる)
  • h2xs (p.209)
  • Perl Testing: A Developer's Notebook (Developers Notebook) (p.229)
  • Devel::Cover (p.234)
  • Test::Harness (p.234)
  • Test::More (p.236)
  • useした事をテストする(p.240)
  • Testの実行順序(p.243)
    • Test::Manufestを利用して、
    • test_manufestにかくことで、テストの順番をコントロールする事ができる。
  • Test::Output (p.249)
    • 標準出力などのテストができる。
  • Test::MockObjectt (p.251)
  • Test::Pod (p.252)
  • カバレッジテスト(p.254)
    • Devel::Coverを使うと統計情報なんかもとれる。
  • 独自のTest::*モジュールの開発(p.255)


何度か読まないとダメだな。こりゃ。