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 そしてまだまだ続く……
  • 索引
 |