Hatena::Groupperl

Perl Study Memory

There is a difference between knowing the path and walking the path.

自己紹介  | 初めてのPerl 第3版  | 続・初めてのPerl 改訂版  | アーカイブ  | 参考書籍・推薦図書

 | 

2008-01-01 参考書籍・推薦図書

続・初めてのPerl

| 10:06 | はてなブックマーク - 続・初めてのPerl - Perl Study Memory

続・初めてのPerl 改訂版

目次
  • 序文
  • はじめに
  • 1章 イントロダクション
    • 1.1 必要な基礎知識は
    • 1.2 脚注とはどう付き合ったらよいのか
    • 1.3 練習問題はどうしたらよいのか
    • 1.4 Perl講座の講師の方に
  • 2章 中級者の基礎知識
    • 2.1 リスト演算子
      • 2.1.1 grepによるリストのフィルタリング
      • 2.1.2 mapによるリストの変換
    • 2.2 evalによるエラーのトラップ
    • 2.3 evalによるダイナミックコード
    • 2.4 練習問題
  • 3章 モジュールの使い方
    • 3.1 標準ディストリビューション
    • 3.2 モジュールの使い方
    • 3.3 関数インタフェース
    • 3.4 インポートする関数を選ぶには
    • 3.5 オブジェクト指向インタフェース
    • 3.6 より典型的なオブジェクト指向モジュール:Math::BigInt
    • 3.7 CPAN
    • 3.8 CPANのモジュールをインストールするには
    • 3.9 適切なタイミングでパスを設定するには
      • 3.9.1 モジュールの依存関係を処理するには
    • 3.10 練習問題
  • 4章 リファレンス入門
    • 4.1 多くの配列に対して同じ処理を実行するには
    • 4.2 配列へのリファレンスを取るには
    • 4.3 配列リファレンスをデリファレンスするには
    • 4.4 中かっこを省略してよいとき
    • 4.5 配列を書き替えるには
    • 4.6 ネストしたデータ構造
    • 4.7 矢印でネストした要素リファレンスをすっきりさせる
    • 4.8 ハッシュへのリファレンス
    • 4.9 練習問題
  • 5章 リファレンスとスコープ
    • 5.1 データへの複数のリファレンス
    • 5.2 無名配列
    • 5.3 参照カウントとネストしたデータ構造
    • 5.4 参照カウントが問題を起こすとき
    • 5.5 無名配列を直接作るには
    • 5.6 無名ハッシュ
    • 5.7 自動生成
    • 5.8 自動生成とハッシュ
    • 5.9 練習問題
  • 6章 複雑なデータ構造の操作
    • 6.1 デバッガを使って複雑なデータを見るには
    • 6.2 Data::Dumperを使った複雑なデータの表示
    • 6.3 YAML
    • 6.4 Storableで複雑なデータを格納するには
    • 6.5 map演算子とgrep演算子の使い方
    • 6.6 間接指定のちょっとした応用
    • 6.7 複雑なデータの選択と変更
    • 6.8 練習問題
  • 7章 サブルーチンへのリファレンス
  • 8章 ファイルハンドルへのリファレンス
    • 8.1 古い方法
    • 8.2 改良された方法
    • 8.3 さらによい方法
    • 8.4 IO::Handle
      • 8.4.1 IO::File
      • 8.4.2 無名IO:Fileオブジェクト
      • 8.4.3 IO::Scalar
      • 8.4.4 IO::Tee
    • 8.5 ディレクトリハンドルリファレンス
    • 8.5.1 IO::Dir
    • 8.6 練習問題
  • 9章 リファレンスを使った実践的なテクニック
    • 9.1 ソートとは
    • 9.2 添字を使ったソート
    • 9.3 効率のよいソート
    • 9.4 シュワルツ変換
    • 9.5 シュワルツ変換を使ったマルチレベルソート
    • 9.6 再帰的に定義されたデータ
    • 9.7 再帰的に定義されたデータの構築
    • 9.8 再帰的に定義されたデータの表示
    • 9.9 練習問題
  • 10章 大規模なプログラムの構築
    • 10.1 共通するコードへの対処
    • 10.2 evalによるコードの挿入
    • 10.3 doを使う方法
    • 10.4 requireを使う方法
    • 10.5 requireと@INC
      • 10.5.1 @INCの拡張
      • 10.5.2 PERL5LIBを使った@INCの拡張
      • 10.5.3 -Iを使った@INCの拡張
    • 10.6 名前空間の衝突の問題
    • 10.7 名前空間セパレータとしてのパッケージ
    • 10.8 packageディレクティブのスコープ
    • 10.9 パッケージとレキシカル変数
    • 10.10 練習問題
  • 11章 オブジェクト入門
    • 11.1 動物と話すことができたら
    • 11.2 メソッド呼び出しの矢印
    • 11.3 メソッド呼び出しの特別な引数
    • 11.4 第2のメソッドを呼び出して話を単純化する
    • 11.5 @ISAについての注意
    • 11.6 メソッドのオーバーライド
    • 11.7 異なる場所からの検索の開始
    • 11.8 SUPERなやり方
    • 11.9 @_の処理
    • 11.10 どこまで来たのか
    • 11.11 練習問題
  • 12章 データのあるオブジェクト
    • 12.1 馬は馬、当たり前だろうか
    • 12.2 インスタンスメソッドの呼び出し
    • 12.3 インスタンスデータへのアクセス
    • 12.4 馬を作る方法
    • 12.5 コンストラクタの継承
    • 12.6 クラスとインスタンスのどちらを渡してもメソッドが使えるようにするには
    • 12.7 メソッドへの引数の追加
    • 12.8 もっとおもしろいインスタンス
    • 12.9 別の色の馬
    • 12.10 セッターから何を返すか
    • 12.11 箱の中を覗かないで
    • 12.12 より高速なゲッターとセッター
    • 12.13 セッターとしても使えるゲッター
    • 12.14 クラス専用メソッドとインスタンス専用メソッド
    • 12.15 練習問題
  • 13章 オブジェクトのデストラクション
    • 13.1 オブジェクトが消滅した後のクリーンアップ
    • 13.2 ネストしたオブジェクトのデストラクション
    • 13.3 死に馬にむちを打つ
    • 13.4 間接オブジェクト記法
    • 13.5 サブクラスでのインスタンス変数の追加
    • 13.6 クラス変数の使い方
    • 13.7 リファレンスを弱める
    • 13.8 練習問題
  • 14章 オブジェクトに関する高度なトピックス
    • 14.1 UNIVERSALメソッド
    • 14.2 オブジェクトの動作に関するテスト
    • 14.3 最後の手段としてのAUTOLOAD
    • 14.4 AUTOLOADを使ってアクセッサを作る方法
    • 14.5 もっと簡単にゲッターとセッターを作る方法
    • 14.6 多重継承
    • 14.7 練習問題
  • 15章 Exporter
    • 15.1 useがしていること
    • 15.2 Exporterを使ったインポート
    • 15.3 @EXPORTと@EXPORT_OK
    • 15.4 %EXPORT_TAGS
    • 15.5 オブジェクト指向モジュールでのエクスポート
    • 15.6 カスタムインポートルーチン
    • 15.7 練習問題
  • 16章 ディストリビューションの書き方
    • 16.1 何事もやり方は1つではない
    • 16.2 h2xsの使い方
      • 16.2.1 MANIFEST
      • 16.2.2 README
      • 16.2.3 Changes
      • 16.2.4 META.yml
      • 16.2.5 プロトタイプモジュール
    • 16.3 埋め込みドキュメント
    • 16.4 Makefile.PLによるディストリビューションのコントロール
    • 16.5 代替のインストール場所(PREFIX=...)
    • 16.6 ごく簡単なmake test
    • 16.7 ごく簡単なmake install
    • 16.8 ごく簡単なmake dist
    • 16.9 ライブラリの別の場所の指定
    • 16.10 練習問題
  • 17章 基本的なテスト
    • 17.1 テストすればするほどコードはよくなる
    • 17.2 簡単なテストスクリプト
    • 17.3 テストのコツ
    • 17.4 テストハーネス
    • 17.5 Test::Moreを使ってテストを書く
    • 17.6 オブジェクト指向機能のテスト
    • 17.7 テストのToDoリスト
    • 17.8 テストのスキップ
    • 17.9 より複雑なテスト(複数のテストスクリプト)
    • 17.10 練習問題
  • 18章 高度なテスト
    • 18.1 大規模な文字列のテスト
    • 18.2 ファイルのテスト
    • 18.3 STDOUTやSTDERRのテスト
    • 18.4 モックオブジェクトを使ったテスト
    • 18.5 PODのテスト
    • 18.6 カバレッジテスト
    • 18.7 独自のTest::*モジュールの開発
    • 18.8 練習問題
  • 19章 CPANへの投稿
    • 19.1 CPAN
    • 19.2 準備作業
    • 19.3 ディストリビューションの準備
    • 19.4 ディストリビューションのアップロード
    • 19.5 モジュールの公表
    • 19.6 マルチプラットフォームテスト
    • 19.7 記事の執筆や講演会への参加
    • 19.8 練習問題
  • 付録 練習問題の解答
    • 2章の解答
    • 3章の解答
    • 4章の解答
    • 5章の解答
    • 6章の解答
    • 7章の解答
    • 8章の解答
    • 9章の解答
    • 10章の解答
    • 11章の解答
    • 12章の解答
    • 13章の解答
    • 14章の解答
    • 15章の解答
    • 16章の解答
    • 17章の解答
    • 18章の解答
    • 19章の解答
  • 索引
 |