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 第5版

初めてのPerl 第5版

目次
  • 訳者まえがき
  • はじめに
  • 1章 Perl入門
    • 1.1 質問とその答え
      • 1.1.1 これはわたしに向いている本でしょうか?
      • 1.1.2 なぜこんなにたくさんの脚注が付いているのでしょうか?
      • 1.1.3 練習問題と解答について教えてください
      • 1.1.4 練習問題の先頭の数字は何を意味するのでしょうか?
      • 1.1.5 私はPerlコースの講師ですが、アドバイスをいただけますか?
    • 1.2 Perlとは何の略でしょうか?
      • 1.2.1 なぜLarryはPerlを創ったのでしょうか?
      • 1.2.2 なぜLarryはほかの言語を使わなかったのでしょうか?
      • 1.2.2 Perlは易しいでしょうか難しいでしょうか?
      • 1.2.3 Perlはどのようにしてこんなに人気を得るようになったのですか?
      • 1.2.4 いまPerlに何が起こっているのでしょうか?
      • 1.2.5 Perlはどんなことが得意でしょうか?
      • 1.2.6 Perlはどんなことが苦手でしょうか?
    • 1.3 どうやってPerlを手に入れるのでしょうか?
      • 1.3.1 CPANって何ですか?
      • 1.3.2 Perlのサポートを得るにはどうすればよいでしょうか?
      • 1.3.3 ほかの種類のサポートはあるのでしょうか?
      • 1.3.4 Perlのバグを発見したらどうすればよいでしょうか?
    • 1.4 どうやってPerlのプログラムを作るのでしょうか?
      • 1.4.1 単純なプログラム
      • 1.4.2 このプログラムの中身はどうなっているのでしょうか?
      • 1.4.3 どうやってPerlプログラムをコンパイルするのでしょうか?
    • 1.5 Perl早わかりツアー
    • 1.6 練習問題
  • 2章 スカラーデータ
    • 2.1 数値
      • 2.1.1 すべての数値は同じ内部形式で表現される
      • 2.1.2 浮動小数点数リテラル
      • 2.1.3 整数リテラル
      • 2.1.4 10進数以外の整数リテラル
      • 2.1.5 数値演算子
    • 2.2 文字列
    • 2.3 Perlに組み込まれている警告メッセージ
    • 2.4 スカラー変数
      • 2.4.1 良い変数名を選ぶ
      • 2.4.2 スカラーの代入
      • 2.4.3 二項代入演算子
    • 2.5 printによる出力
      • 2.5.1 スカラー変数を文字列の中に展開する
      • 2.5.2 演算子の優先順位と結合
      • 2.5.3 比較演算子
    • 2.6 if制御構造
      • 2.6.1 ブール値
    • 2.7 ユーザからの入力を受け取る
    • 2.8 chomp演算子
    • 2.9 while制御構造
    • 2.9 未定義値
    • 2.10 defined関数
    • 2.11 練習問題
  • 3章 リストと配列
  • 4章 サブルーチン
    • 4.1 サブルーチンを定義する
    • 4.2 サブルーチンを起動する
    • 4.3 戻り値
    • 4.4 引数
    • 4.5 サブルーチンの中でプライベートな変数
    • 4.6 可変長のパラメータリスト
      • 4.6.1 改良版の&maxサブルーチン
      • 4.6.2 空のパラメータリスト
    • 4.7 レキシカル変数(my変数)についての注意事項
    • 4.8 use strictプラグマ
    • 4.9 return演算子
      • 4.9.1 アンパーサンドを省略する
    • 4.10 スカラー以外の戻り値
    • 4.11 永続的なプライベート変数
    • 4.12 練習問題
  • 5章 入出力
    • 5.1 標準入力からの入力
    • 5.2 ダイヤモンド演算子からの入力
    • 5.3 起動引数
    • 5.4 標準出力への出力
    • 5.5 printfによるフォーマット付き出力
      • 5.5.1 配列とprintf
    • 5.6 ファイルハンドル
    • 5.7 ファイルハンドルをオープンする
      • 5.7.1 無効なファイルハンドル
      • 5.7.2 ファイルハンドルをクローズする
    • 5.8 dieによって致命的エラーを発生させる
      • 5.8.1 warnによって警告メッセージを表示する
    • 5.9 ファイルハンドルを使う
      • 5.9.1 デフォルトの出力ファイルハンドルを変える
    • 5.10 標準ファイルハンドルを再オープンする
    • 5.11 sayを使って出力する
    • 5.12 練習問題
  • 6章 ハッシュ
    • 6.1 ハッシュとは?
      • 6.1.1 なぜハッシュを使うのか?
    • 6.2 ハッシュの要素にアクセスする
      • 6.2.1 ハッシュ全体を扱う
      • 6.2.2 ハッシュの代入
      • 6.2.3 太い矢印
    • 6.3 ハッシュ関数
      • 6.3.1 keys関数とvalues関数
      • 6.3.2 each関数
    • 6.4 ハッシュの利用法
      • 6.4.1 exists関数
      • 6.4.2 delete関数
      • 6.4.3 ハッシュの要素を変数展開する
    • 6.5 %ENVハッシュ
    • 6.6 練習問題
  • 7章 正規表現の世界
    • 7.1 正規表現とは?
    • 7.2 単純なパターンを使う
      • 7.2.1 メタキャラクタについて
      • 7.2.2 単純な量指定子
      • 7.2.3 パターンをグループにまとめる
      • 7.2.4 選択肢
    • 7.3 文字クラス
      • 7.3.1 文字クラスのショートカット
      • 7.3.2 ショートカットの否定
    • 7.4 練習問題
  • 8章 正規表現によるマッチ
    • 8.1 m//を使ってマッチを行なう
    • 8.2 オプション修飾子
      • 8.2.1 大文字と小文字を区別せずにマッチする:/i
      • 8.2.2 あらゆる文字にマッチする:/s
      • 8.2.3 空白文字を追加する:/x
      • 8.2.4 オプション修飾子をまとめて指定する
      • 8.2.5 その他のオプション
    • 8.3 アンカー
      • 8.3.1 ワードアンカー
    • 8.4 結合演算子 =~
    • 8.5 変数をパターンに埋め込む
    • 8.6 マッチ変数
      • 8.6.1 メモリの有効期限
      • 8.6.2 キャプチャなしのカッコ
      • 8.6.3 名前付きキャプチャ
      • 8.6.4 自動マッチ変数
    • 8.7 汎用の量指定子
    • 8.8 優先順位
      • 8.8.1 優先順位の例
      • 8.8.2 お楽しみはこれからだ
    • 8.9 パターンをテストするプログラム
    • 8.10 練習問題
  • 9章 正規表現によるテキスト処理
    • 9.1 s///を使って置換を行なう
      • 9.1.1 /gによるグローバルな置換
      • 9.1.2 別のデリミタを使う
      • 9.1.3 オプション修飾子
      • 9.1.4 結合演算子
      • 9.1.5 大文字と小文字の変換
    • 9.2 split演算子
    • 9.3 join関数
    • 9.4 m//をリストコンテキストで使う
    • 9.5 より強力な正規表現機能
      • 9.5.1 欲ばりでない量指定子
      • 9.5.2 複数行のテキストに対するマッチ
      • 9.5.3 たくさんのファイルを更新する
      • 9.5.4 コマンドラインから書き戻し編集を行なう
    • 9.6 練習問題
  • 10章 さまざまな制御構造
    • 10.1 unless制御構造
      • 10.1.1 unlessのelse節
    • 10.2 until制御構造
    • 10.3 式修飾子
    • 10.4 裸のブロック制御構造
    • 10.5 elsif節
    • 10.6 オートインクリメントとオートデクリメント
      • 10.6.1 オートインクリメントの値
    • 10.7 for制御構造
      • 10.7.1 foreachとforの秘められた関係
    • 10.8 ループを制御する
      • 10.8.1 last演算子
      • 10.8.2 next演算子
      • 10.8.3 redo演算子
      • 10.8.4 ラベル付きブロック
    • 10.9 三項演算子 ? :
    • 10.10 論理演算子
      • 10.10.1 短絡演算子の値
      • 10.10.2 defined-or演算子
      • 10.10.3 部分評価演算子を使って制御構造を実現する
    • 10.11 練習問題
  • 11章 Perlモジュール
    • 11.1 モジュールを探す
    • 11.2 モジュールをインストールする
    • 11.3 単純なモジュールを使う
      • 11.3.1 File::Basenameモジュール
      • 11.3.2 モジュールの一部の関数だけを使う
      • 11.3.3 File::Specモジュール
      • 11.3.4 CGI.pm
      • 11.3.5 データベースとDBI
    • 11.4 練習問題
  • 12章 ファイルテスト
    • 12.1 ファイルテスト演算子
      • 12.1.1 同じファイルの複数の属性をテストする
      • 12.1.2 ファイルテスト演算子を積み重ねる
    • 12.2 stat関数とlstat関数
    • 12.3 localtime関数
    • 12.4 ビット演算子
      • 12.4.1 ビットストリングを使う
    • 12.5 練習問題
  • 13章 ディレクトリ操作
    • 13.1 ディレクトリツリーの中を移動する
    • 13.2 グロブ
    • 13.3 グロブのもう1つの書き方
    • 13.4 ディレクトリハンドル
    • 13.5 再帰的なディレクトリ処理
    • 13.6 ファイルとディレクトリの取り扱い
    • 13.7 ファイルを削除する
    • 13.8 ファイルの名前を変更する
    • 13.9 リンクとファイル
    • 13.10 ディレクトリの作成と削除
    • 13.11 パーミッションを変更する
    • 13.12 ファイルのオーナーを変更する
    • 13.13 タイムスタンプを変更する
    • 13.14 練習問題
  • 14章 文字列処理とソート
    • 14.1 indexを使って部分文字列を探す
    • 14.2 substrを使って部分文字列をいじる
    • 14.3 sprintfを使ってデータをフォーマットする
      • 14.3.1 sprintfを使って金額を表示する
    • 14.4 高度なソート
      • 14.4.1 ハッシュを値によってソートする
      • 14.4.2 複数のキーでソートする
    • 14.5 練習問題
  • 15章 スマートマッチとgiven-when
    • 15.1 スマートマッチ演算子
    • 15.2 スマートマッチの優先順位
    • 15.3 given文
    • 15.4 ダムマッチ
    • 15.5 多くの項目をwhenで扱う
    • 15.6 練習問題
  • 16章 プロセス管理
    • 16.1 system関数
      • 16.1.1 シェルの起動を避ける
    • 16.2 exec関数
    • 16.3 環境変数
    • 16.4 逆クォートを使って出力を取り込む
    • 16.5 プロセスをファイルハンドルとして使う
    • 16.6 forkを使って低レベル処理を行なう
    • 16.7 シグナルを送受信する
    • 16.8 練習問題
  • 17章 上級テクニック
    • 17.1 evalによってエラーをトラップする
    • 17.2 grepを使ってリストから要素を選び出す
    • 17.3 mapを使ってリストの要素を変換する
    • 17.4 クォートなしのハッシュキー
    • 17.5 スライス
      • 17.5.1 配列スライス
      • 17.5.2 ハッシュスライス
    • 17.6 練習問題
  • 付録A 練習問題の解答
    • 2章の練習問題の解答
    • 3章の練習問題の解答
    • 4章の練習問題の解答
    • 5章の練習問題の解答
    • 6章の練習問題の解答
    • 7章の練習問題の解答
    • 8章の練習問題の解答
    • 9章の練習問題の解答
    • 10章の練習問題の解答
    • 11章の練習問題の解答
    • 12章の練習問題の解答
    • 13章の練習問題の解答
    • 14章の練習問題の解答
    • 15章の練習問題の解答
    • 16章の練習問題の解答
    • 17章の練習問題の解答
  • 付録B リャマを越えて
    • B.1 豊富なドキュメント
    • B.2 正規表現
    • B.3 パッケージ
    • B.4 Perlの機能を拡張する
      • B.4.1 ライブラリ
      • B.4.2 モジュール
      • B.4.3 モジュールを探してインストールする
      • B.4.4 自分でモジュールを書く
    • B.5 重要なモジュール
      • B.5.1 CGIモジュール
      • B.5.2 Cwdモジュール
      • B.5.3 Fatalモジュール
      • B.5.4 File::Basenameモジュール
      • B.5.5 File::Copyモジュール
      • B.5.6 File::Specモジュール
      • B.5.7 Image::Sizeモジュール
      • B.5.8 Net::SMTPモジュール
      • B.5.9 POSIXモジュール
      • B.5.10 Sys::Hostnameモジュール
      • B.5.11 Text::Wrapモジュール
      • B.5.12 Time::Localモジュール
    • B.6 プラグマ
    • B.7 データベース
      • B.7.1 システムデータベースに直接アクセスする
      • B.7.2 フラットなファイルのデータベースにアクセスする
    • B.8 その他の演算子と関数
      • B.8.1 tr/ / /による変換
      • B.8.2 ヒアドキュメント
    • B.9 数学
      • B.9.1 高度な数学関数
      • B.9.2 虚数と複素数
      • B.9.3 大きな数と高精度な数
    • B.10 リストと配列
      • B.10.1 mapとgrep
      • B.10.2 splice演算子
    • B.11 ビット操作
    • B.12 フォーマット
    • B.13 ネットワークとIPC
      • B.13.1 System V IPC
      • B.13.2 ソケット
    • B.14 セキュリティ
    • B.15 デバッグ
    • B.16 CGICommon Gateway Interface
    • B.17 コマンドラインオプション
    • B.18 組み込み変数
    • B.19 さまざまな構文
    • B.20 リファレンス
      • B.20.1 複雑なデータ構造
      • B.20.2 オブジェクト指向プログラミング
      • B.20.3 無名サブルーチンとクロージャ
    • B.21 タイ変数
    • B.22 演算子オーバーロード
    • B.23 ダイナミックロード
    • B.24 Perlをほかのプログラムに組み込む
    • B.25 他の言語からPerlへの変換
    • B.26 findコマンドラインをPerlに変換する
    • B.27 コマンドラインオプションを受け取る
    • B.28 ドキュメントを埋め込む
    • B.29 ファイルハンドルをオープンするほかの方法
    • B.30 ロケールとUnicode
    • B.31 スレッドとフォーク
    • B.32 グラフィカルユーザインターフェース(GUI
    • B.33 そしてまだまだ続く……
  • 索引

続・初めての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章の解答
  • 索引

モダンPerl入門

| 10:06 | はてなブックマーク - モダンPerl入門 - Perl Study Memory

モダンPerl入門 (CodeZine BOOKS)

モダンPerl入門 (CodeZine BOOKS)

目次

すぐわかるPerl

| 10:06 | はてなブックマーク - すぐわかるPerl - Perl Study Memory

すぐわかるPerl (Software Technology)

すぐわかるPerl (Software Technology)

目次
  • 第1章 最初の一歩
    • 〜プログラムの作成と実行〜
    • 1.1 Perlは入っているか?
    • 1.2 あなたのPerlのバージョンはいくつか?
    • 1.3 perlコマンドに命令を実行させる
    • 1.4 Perlコマンドをファイルに書く
    • 1.5 魔法の呪文!
    • 【コラム】管理者との付き合い方
  • 第2章 電卓プログラムを作ろう
    • 〜式と計算,変数について〜
    • 2.1 プログラムのリサイクル
    • 2.2 printで遊んでみよう
    • 2.3 電卓プログラムの誕生
    • 2.4 演算子のまとめ
    • 2.5 電卓プログラムの進化〜中学編〜
    • 2.6 他にも便利な演算子がある
    • 2.7 代入式は値を持つ
    • 2.8 変数を駆使した計算
    • 2.7 変数のスペルミスを防ぐには
    • 2.8 文字列も変数に入る
    • 2.9 謎の値undef
    • 2.10 スカラーという言葉を覚えておこう
    • 【コラム】プロトタイプ/プロトタイピング
  • 第3章 ちょっと複雑な計算をしよう
    • 〜枝分かれと繰り返し〜
    • 3.1 二股に分かれるif
    • 3.2 3分裂以上したい場合のelsif
    • 3.3 「かつ(and)」と「または(or)」
    • 3.4 文字列としての比較
    • 3.5 ( ) の中身はなんでもよい
    • 3.6 繰り返しの基本while
    • 3.7 恐怖の無限ループ
    • 3.8 ifとwhileの複合技
    • 3.9 二重ループ
    • 3.10 紹介しきれなかった制御文
    • 3.11 やっぱりforは紹介しておこう
    • 【コラム】史上最大のバグ
  • 第4章データをシリーズで一気に扱う
    • 〜配列とリスト〜
    • 4.1 たくさんのデータを扱うときには
    • 4.2 配列変数の作成
    • 4.3 ( ) を使ったリストと@配列名
    • 4.4 リストコンテキストスカラーコンテキスト
    • 4.5 配列は勝手に伸び縮みする
    • 4.6 配列操作のいろいろ
    • 4.7 スライスと範囲演算子「..」
    • 4.8 配列を連続アクセスする「foreachループ」
    • 4.6 エラーメッセージを出して死ぬ「die」
    • 【コラム】コンピュータ用語と日常会話
  • 第5章 プログラムにデータを渡す 〜引数〜
    • 5.1 プログラムに引数を渡すとは
    • 5.2 引数は配列
    • 5.3 決まった数の引数の利用
    • 5.4 エラーチェックをしてみよう
    • 5.5 無数の引数の利用
    • 5.6 めちゃめちゃ便利な「eval」
    • 5.7 文字列の置き換え
    • 【コラム】コンピュータの夜明け
  • 第6章 テキストファイルを処理しよう
    • 〜文字列とファイルの処理〜
    • 6.1 ファイルへの出力
    • 6.2 フィルターは便利
    • 6.3 標準入力を読み込む<STDIN>
    • 6.4 謎の物体「$_」
    • 6.5 行番号を打ってみよう
    • 6.6 正規表現による検索
    • 6.7 その他の正規表現
    • 【コラム】コマンドラインの快楽
  • 第7章 もっともっとテキスト処理
    • 〜正規表現による文書処理〜
    • 7.1 置換処理
    • 7.2 文字列の削除
    • 7.3 最大マッチと最小マッチ
    • 7.4 文字列の収集
    • 7.5 カッコを使った記憶
    • 7.6 パターンマッチの特殊変数
    • 7.7 1文字単位の置換にtr///
    • 7.8 演算子「=~」
    • 7.9 splitとjoin
    • 7.10 リストコンテキストの<STDIN>
    • 7.11 ユーザーのオリジナル関数
    • 7.12 ユーザーのオリジナルソート
    • 7.13 ダイヤモンド演算子<>
    • 【コラム】いじっぱりとコンピュータ
  • 第8章 ディレクトリーの連続処理
    • 8.1 ディレクトリ内のファイルを一気に処理する
    • 8.2 ファイル名グロブ(glob)
    • 8.3 systemコマンド
    • 8.4 ディレクトリ内のファイル連続処理
    • 8.5 エラーチェックを入念に
    • 8.6 バッククォートでコマンドの結果を知る
    • 8.7 制御構造としてのand,or
    • 8.8 標準入出力以外のファイルの制御
    • 8.9 コマンドの入出力に入出力を切り替える
      • ★標準入出力以外のアクセスのまとめ
    • 8.7 ディレクトリのリカーシブ処理
    • 【コラム】美しいプログラミングの費用対効果
  • 第9章 超簡単ランダムデータ検索
    • 〜ハッシュとdbm〜
    • 9.1 配列もデータベース
    • 9.2 配列からハッシュへ
    • 9.3 ハッシュの応用:売り上げ計算処理
    • 9.4 ちょっと横道:プログラムを書くプログラムとヒアドキュメント
    • 9.5 ハッシュの外部ファイル化:dbmデータベース
    • 9.6 dbmデータベースの検索
    • 9.7 dbmデータベースのメンテナンス:一覧
    • 9.8 dbmデータベースのメンテナンス:値の追加/編集
    • 9.9 dbmデータベースのメンテナンス:値の削除
    • 【コラム】Perlと構造化プログラミング
  • 第10章 CGIプログラム入門
    • 10.1 CGIとは
    • 10.2 CGIを使うには
    • 10.3 簡易掲示板Web
    • 10.4 フォームを作る
    • 10.5 テスト用CGIプログラム
    • 10.6 掲示板CGIプログラム
  • 付録A 日本語コードとPerlプログラミング
    • A.1 文字コード系のあれこれ
    • A.2 ASCII
    • A.3 JISコード
    • A.4 シフトJISコード
    • A.5 EUC
    • A.6 Unicode
    • A.7 コードをダンプするプログラム
    • A.8 Perlと文字コード
    • A.9 プログラムをEUCで書く
    • A.10 端末の表示もEUCにする
    • A.11 ファイルは,入力前にEUCに変換し,出力後にもとに戻す
    • A.12 CGIプログラムの日本語化
    • A.13 日本語化されたPerl「jperl」
  • 付録B UNIXPerlを入れてみよう!
    • B.1 Perlを入れるには
    • B.2 ファイルをゲットする
    • B.3 Configureとの対話
    • B.4 インストールの結果
  • 付録C jperlのインストール
    • C.1 ファイルを入手してインストールする
    • C.2 インストール後にすること
  • 付録D manを見よう!
    • D.1 manとは
    • D.2 インストール
    • D.3 コマンドラインで使う
    • D.4 Emacsから使う
    • E.1 ファイルをゲットしよう
    • E.2 インストールしよう
    • E.3 WindowsPerlを使ってみよう
    • E.4 WindowsUNIX風に使う
  • 付録F MacPerlの使い方
    • F.1 ファイルのゲット
    • F.2 ファイルの展開とインストール
    • F.3 試してみよう
    • F.4 Dropletを作ろう(<> 編)
    • F.5 Dropletを作ろう(@ARGV編)
    • F.6 Perlプログラムのアプリケーション化
    • F.7 MacPerlとAppleScript
    • F.8 もっとMacっぽくしたい
    • F.9 MacUNIX風に使う
    • 【参考文献】この本をあっという間に読み終えたら

すぐわかる オブジェクト指向 Perl

| 10:06 | はてなブックマーク - すぐわかる オブジェクト指向 Perl - Perl Study Memory

すぐわかる オブジェクト指向 Perl

すぐわかる オブジェクト指向 Perl

目次
  • 第1章 いきなりモジュールを使ってみる
    • 1-1 本書のあらすじ
      • 本書のゴール地点
      • 本書のロードマップ
      • 分割プログラミング=分業プログラミング
    • 1-2 File::Find モジュールを使ってみよう
      • ファイルを軒並み処理していく
      • File::Find を使ってみる
      • プログラムの中身を見てみる
      • サブルーチンfileProc
      • プログラムを簡略化してみる
      • 機能を追加してみる
    • まとめ
    • COLUMN 知らないことがあっても別に平気
  • 研究コーナー1 一気読みモードでの文字列操作
    • まず普通の置換
    • 一気読みモード
  • 第2章 「参照」は小粒でピリリと辛い~スカラーリファレンス~
    • 2-1 リファレンスとは何か
      • 「ポインタはF だねぇ」
      • スカラーリファレンスとメモリー空間
      • メモリー空間にアクセスする
      • 名前だけじゃなくて住所も教えてください!
      • デバッグ文字列
    • 2-2 リファレンスのデリファレンス
    • 2-3 デバッガーを使ったプログラムのステップ実行
      • と,ここまで書いてきてふと思ったのですが
      • デバッグ文字列の謎再び
      • ref 関数
      • use strict 'refs';
    • 2-4 名もないスカラー~無名スカラーリファレンス
    • まとめ
    • COLUMN Perl のリファレンスとC 言語のポインタはだいぶ違う
  • 第3章 配列のリファレンス
    • 3-1 配列のリファレンス
      • 配列の復習
      • 配列リファレンスの取得とデリファレンス
      • 2 つ以上の配列をサブルーチンに渡す
    • 3-2 配列要素へのアクセスと矢印記法
      • リファレンスが指す配列の各要素へのアクセス
      • $$refMonth[4] ってわかりにくくないですか
      • 矢印記法
    • 3-3 2 次元配列
      • 自動生成の威力
    • 3-4 シンタックスシュガーが利かない場合
    • 3-5 無名配列
      • ちょっと横道:リストの最後に余計なカンマ
      • 無名配列を使おう
      • ブラケットのネスティング
      • 2 次元配列の2 つの表現
    • まとめ
    • COLUMN カッコの名前
  • 第4章 ハッシュのリファレンス
    • 4-1 ハッシュの復習
      • ハッシュスライス
      • delete 関数
    • 4-2 ハッシュリファレンス
    • 4-3 無名ハッシュ
      • ハッシュリファレンスによるハッシュスライスのアクセス
    • 4-4 2 次元ハッシュ
      • ちょっと横道:プログラムの勉強に便利な__DATA__
      • 2 次元ハッシュプログラムの解説
    • まとめ
    • COLUMN 楽しいファニー文字
  • 第5章 サブルーチンのリファレンス
    • 5-1 サブルーチンの復習
      • サブルーチン=関数=function =機能
    • 5-2 サブルーチンのリファレンス
    • 5-3 無名サブルーチン
    • 5-4 サブルーチンリファレンスの応用
      • サブルーチンの引数としてサブルーチンリファレンスを渡す
      • ハッシュにサブルーチンリファレンスを格納する
    • まとめ
    • COLUMN わからないことは後回しにしよう
  • 研究コーナー2 リファレンスのまとめとシュウォーツ変換
    • スカラーリファレンス
    • 配列リファレンス
    • ハッシュリファレンス
    • サブルーチンリファレンス
    • シュウォーツ変換
    • map の使い方
    • ということでソートの高速化に戻ります
  • 第6章 ライブラリを取り込むrequire
    • 6-1 サブルーチンライブラリの作成
      • サブルーチンを作る
      • サブルーチンを外部ファイルに出してrequire する
    • 6-2 ライブラリの格納場所と配列変数@INC
      • 方法1 : require をフルパスで記述する
      • 方法2 : @INC をいじる
      • 方法3 :環境変数PERL5LIB を使う
      • 方法4 :もともとの@INC を生かす
      • サブルーチン以外をライブラリに入れる
      • 人が作ったファイルをrequire する
    • まとめ
    • COLUMN コピペ禁止
  • 第7章 名前空間を作るpackage
    • 7-1 パッケージとは何か
      • main パッケージってなんだろう
      • File::Find パッケージはどうやって生成しているのだろう
      • パッケージの決まり
      • パッケージ=名前空間
    • 7-2 package とライブラリ
      • package の「普通の」使い方
      • package 文の威力
    • 7-3 パッケージ変数,my 変数,そしてour 変数
      • my とレキシカル変数
      • use strict 'vars' 宣言とmy / our
      • 補足:use strict のいろいろ
    • まとめ
    • COLUMN 英語好きのコンピューター上手
  • 第8章 モジュールを使うuse
    • 8-1 モジュールとuse
      • require からuse へ,ライブラリからモジュールへ
      • pm ファイルの作り方
      • $VERSION 変数について
    • 8-2 import による名前の輸入
      • 「use モジュール名」の裏側
      • 輸出/輸入,する/しない
      • use base ですっきり
    • まとめ
    • COLUMN 規則と慣例
  • 研究コーナー3 本当にFile::Find を自作してみよう
    • まず1 本のプログラムで作ってみよう
    • モジュールの分離
  • 第9章 オブジェクト指向モジュールの活用
    • 9-1 オブジェクト指向とPerl
      • オブジェクト指向とは何か
      • 変数の型とは
      • PerlOOP
    • 9-2 CPAN の活用
      • CPAN を見に行く
      • CPAN シェルによるモジュールのインストール
      • Calendar モジュールを使ってみよう
      • Calendar モジュールをさらに使いこなす
    • まとめ
    • COLUMN Perl がバグっている?
  • 第10章 静的クラスの作成
    • 10-1 クラスとメソッド
      • 三角形の面積を求めよう
      • 構造化プログラミングを導入してみよう
      • モジュール化しよう
      • メソッド呼び出し
    • 10-2 クラスの継承
      • もうひとつ,正三角形を導入する
      • 継承とオーバーライド
      • スーパークラスとサブクラス
      • AUTOLOAD
      • 継承の注意点
      • use base ですっきり
      • 多重継承
      • 正三角形クラスで継承を使う
      • SUPER を使う
      • 上司のお詫びを汎用化する(AUTOLOAD の復習)
    • 10-3 現状での到達点
      • 静的クラス
      • 3 本柱のうち2 本は立てました
      • エクスポートと継承の微妙な関係
      • 間接オブジェクト構文
    • まとめ
    • COLUMN 継承関係は上下関係か
  • 第11章 オブジェクトクラスの作成
    • 11-1 オブジェクトとは
      • このところ三角形の面積を求めているわけですが
      • クラスからオブジェクトへ
      • クラスとインスタンスとオブジェクト
      • オブジェクトとプロパティ
    • 11-2 オブジェクトクラスの作成
      • Triangle クラスにオブジェクトを作らせる
      • 短くしよう!
    • 11-3 オブジェクトクラスの増強
      • エラーチェック
      • ゲッター/セッターによるカプセル化
    • まとめ
    • COLUMN たとえ話がいっぱい
  • 第12章 演算子のオーバーロード
    • 12-1 オーバーロードとは
      • 定義
      • メソッドのオーバーロード(Perl ではできない…)
      • 演算子のオーバーロード(Perl でもできる!)
    • 12-2 変換演算子のオーバーロード
      • ,0+ のオーバーロード
    • 12-3 四則演算子のオーバーロード
      • 演算子+,-のオーバーロード
      • 演算子の自動生成
      • 次は引き算だ
      • 掛け算はちょっと凝ってみよう
      • 最後に割り算だ
    • 12-4 特殊演算子nomethod
    • まとめ
    • COLUMN フリーソフトウェアとは
  • 第13章 オブジェクトクラスの継承,デストラクタ,永続化
    • 13-1 オブジェクトクラスの継承
      • 三角形オブジェクトを継承する
      • さらなるスーパークラスとAUTOLOAD
    • 13-2 デストラクタ
      • DESTROY はデストラクタメソッド
      • ちょっと横道: Perl 58 と510 で挙動が違う?
      • DESTROY の研究(続き)
    • 13-3 オブジェクトの永続化
      • オブジェクトの永続化(手作り編)
      • オブジェクトの永続化(Storable 編)
      • ちょっと横道: store の形式を知らないデータのretrieve
      • オブジェクト指向モジュールにStorable を組み込む
    • 13-4 コンポジション
      • has a 関係とコンポジション
    • 13-5 CPAN モジュール/コアモジュールの継承
    • まとめ
    • COLUMN 知識の三すくみ
  • 研究コーナー4 対決!ベンチマーク~オブジェクト指向
    • Perl は遅いってホント?~
    • Benchmark モジュールの使い方
  • 第14章 オブジェクト指向モジュールを使ったCGI
    • 14-1 CGIpm を使おう
      • 言語設定,文字設定を直す
      • カレンダープログラム
      • Calendar::Simple モジュール
      • モジュールを組み込む
    • 14-2 レンタルサーバーへのCPAN モジュールのインストール
      • サーバーにログインする
      • CPAN の設定
      • CPAN 前の作業
      • CPAN シェルで初期設定
      • CPAN シェルでインストール
      • テスト
      • レンタルサーバーCGI でのCPAN モジュールの使用
      • CGI::Carp で500 エラーを表示
      • use lib で私用ライブラリを明示
    • 14-3 ユーザー入力の実装
      • CGI プログラムに引数を渡す
      • param にコンソールから値を渡す
      • CGI プログラムにUI を付ける
      • UI にデフォルトを与える
      • エラー処理を行う
      • リストボックスの追加
      • まとめ
      • COLUMN 世の中をカスタマイズしよう
  • 付録
    • 本書のプログラムの使い方について
    • ActivePerl を入れる
    • ディレクトリを作り,プログラムを置く
    • テスト
    • コマンドプロンプトのコマンド
    • 長い表示結果を見るには
    • ActivePerl のTips