初めてのPerl(第7版)

Perl入門書の定番として不動の人気を誇るロングセラーの改訂版!

このような方におすすめ

Perl初心者、学生、システムエンジニア
  • 著者Randal L. Schwartz、brian d foy、Tom Phoenix/近藤 嘉雪、嶋田 健志
  • 定価3,888 (本体3,600 円+税)
  • B5変 408頁 2018/01発行
  • ISBN978-4-87311-824-6
  • 定価
  • ポイント0
  • 数量

※本体価格は変更される場合があります。
※通常2〜3日以内で発送いたします。

  • 概要
  • 主要目次
  • 詳細目次

Perlのチュートリアルとして、1991年の発刊以来、多くのPerlユーザに読まれて続けてきた定番入門書の改訂版。Perl言語を基礎からていねいに解説します。効果的にPerlを学べるように、著者たちが工夫と改良を重ねており、第1版の発刊以来、高い評価を得て支持され続けています。サブルーチンと数値計算が高速化されるなどパフォーマンスが大きく改善されたほか、Unicode 8.0のサポート、新たな正規表現の追加など、機能が強化されたPerl 5.24に対応した改訂が加えられています。


    
目次
はじめに

1章 Perl入門
1.1 質疑応答
1.1.1 この本は私に向いていますか?
1.1.2 練習問題と解答について教えてください
1.1.3 私は Perlコースの講師ですが、アドバイスをいただけますか?
1.2 Perlとは何の略でしょうか?
1.2.1 なぜ Larryは Perlを創ったのでしょうか?
1.2.2 なぜ Larryは他の言語を使わなかったのでしょうか?
1.2.3 Perlはやさしいでしょうか難しいでしょうか?
1.2.4 Perlはどのようにしてこんなに人気を得るようになったのですか?
1.2.5 いま Perlに何が起こっているのでしょうか?
1.2.6 Perlはどんなことが得意でしょうか?
1.2.7 Perlはどんなことが苦手でしょうか?
1.3 どうすれば Perlが手に入りますか?
1.3.1 CPANとは何でしょうか?
1.3.2 サポートはあるのでしょうか?
1.3.3 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 10進数以外の整数リテラル
2.1.4 浮動小数点数リテラル
2.1.5 数値演算子
2.2 文字列
2.2.1 シングルクォート文字列リテラル
2.2.2 ダブルクォート文字列リテラル
2.2.3 文字列演算子
2.2.4 数値と文字列の自動変換
2.3 Perlに組み込まれている警告メッセージ
2.3.1 10進数以外の数を解釈する
2.4 スカラー変数
2.4.1 良い変数名を選ぶ
2.4.2 スカラーの代入
2.4.3 複合代入演算子
2.5 printによる出力
2.5.1 スカラー変数を文字列の中に展開する
2.5.2 コードポイントで文字を生成する
2.5.3 演算子の優先順位と結合
2.5.4 比較演算子
2.6 if制御構造
2.6.1 ブール値
2.7 ユーザからの入力を受け取る
2.8 chomp演算子
2.9 while制御構造
2.10 未定義値
2.11 defined関数
2.12 練習問題

3章 リストと配列
3.1 配列の要素にアクセスする
3.2 配列の特別なインデックス
3.3 リストリテラル
3.3.1 qwショートカット
3.4 リスト代入
3.4.1 pop演算子と push演算子
3.4.2 shift演算子と unshift演算子
3.4.3 splice演算子
3.5 配列を文字列の中に展開する
3.6 foreach制御構造
3.6.1 Perlお気に入りのデフォルト:$_
3.6.2 reverse演算子
3.6.3 sort演算子
3.6.4 each演算子
3.7 スカラーコンテキストとリストコンテキスト
3.7.1 リストを生成する式をスカラーコンテキストで使う
3.7.2 スカラーを生成する式をリストコンテキストで使う
3.7.3 スカラーコンテキストを強制する
3.8 リストコンテキストで を使う
3.9 練習問題

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 サブルーチンシグネチャ
4.13 練習問題

5章 入力と出力
5.1 標準入力からの入力
5.2 ダイヤモンド演算子からの入力
5.2.1 ダブルダイヤモンド演算子
5.3 起動引数
5.4 標準出力への出力
5.5 printfによるフォーマット付き出力
5.5.1 配列と printf
5.6 ファイルハンドル
5.7 ファイルハンドルをオープンする
5.7.1 ファイルハンドルに対して binmodeを適用する
5.7.2 無効なファイルハンドル
5.7.3 ファイルハンドルをクローズする
5.8 dieによって致命的エラーを発生させる
5.8.1 warnによって警告メッセージを表示する
5.8.2 自動的に dieする
5.9 ファイルハンドルを使う
5.9.1 デフォルトの出力ファイルハンドルを変える
5.10 標準ファイルハンドルを再オープンする
5.11 sayを使って出力する
5.12 ファイルハンドルをスカラー変数に入れる
5.13 練習問題

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.3 ワイルドカード
7.4 量指定子
7.5 パターンをグループにまとめる
7.6 選択肢
7.7 文字クラス
7.7.1 文字クラスのショートカット
7.7.2 ショートカットの否定
7.8 Unicode属性
7.9 アンカー
7.9.1 ワードアンカー
7.10 練習問題

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.2.6 行頭と行末のアンカー
8.2.7 その他のオプション
8.3 結合演算子 =~
8.4 マッチ変数
8.4.1 キャプチャの有効期限
8.4.2 キャプチャなしのカッコ
8.4.3 名前付きキャプチャ
8.4.4 自動マッチ変数
8.5 優先順位
8.5.1 優先順位の例
8.5.2 お楽しみはこれからだ
8.6 パターンをテストするプログラム
8.7 練習問題

9章 正規表現によるテキスト処理
9.1 s///を使って置換を行う
9.1.1 /gによるグローバルな置換
9.1.2 別のデリミタを使う
9.1.3 置換修飾子
9.1.4 結合演算子
9.1.5 非破壊置換
9.1.6 大文字と小文字の変換
9.1.7 メタクォート
9.2 split演算子
9.3 join関数
9.4 m//をリストコンテキストで使う
9.5 より強力な正規表現機能
9.5.1 欲張りでない量指定子
9.5.2 ファンシーなワード境界
9.5.3 複数行のテキストに対するマッチ
9.5.4 たくさんのファイルを更新する
9.5.5 コマンドラインから書き戻し編集を行う
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.2.1 自分のディレクトリを使う
11.3 単純なモジュールを使う
11.3.1 File::Basenameモジュール
11.3.2 モジュールの一部の関数だけを使う
11.3.3 File::Specモジュール
11.3.4 Path::Class
11.3.5 データベースと DBI
11.3.6 日付と時刻
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 グロブ
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章 プロセス管理
15.1 system関数
15.1.1 シェルの起動を避ける
15.2 環境変数
15.3 exec関数
15.4 バッククォートを使って出力を取り込む
15.4.1 リストコンテキストでバッククォートを使う
15.5 IPC::System::Simpleによる外部プロセスの起動
15.6 プロセスをファイルハンドルとして使う
15.7 forkを使って低レベル処理を行う
15.8 シグナルを送受信する
15.9 練習問題

16章 上級テクニック
16.1 スライス
16.1.1 配列スライス
16.1.2 ハッシュスライス
16.1.3 キーと値のスライス
16.2 エラーをトラップする
16.2.1 evalを利用する
16.2.2 高度なエラー処理
16.3 grepを使ってリストから要素を選び出す
16.4 mapを使ってリストの要素を変換する
16.5 便利なリストユーティリティ
16.6 練習問題

付録A 練習問題の解答
1章の練習問題の解答
2章の練習問題の解答
3章の練習問題の解答
4章の練習問題の解答
5章の練習問題の解答
6章の練習問題の解答
7章の練習問題の解答
8章の練習問題の解答
9章の練習問題の解答
10章の練習問題の解答
11章の練習問題の解答
12章の練習問題の解答
13章の練習問題の解答
14章の練習問題の解答
15章の練習問題の解答
16章の練習問題の解答

付録B リャマを越えて
B.1 豊富なドキュメント
B.2 正規表現
B.3 パッケージ
B.4 Perlの機能を拡張する
B.4.1 自分でモジュールを書く
B.5 データベース
B.6 数学
B.7 リストと配列
B.8 ビット操作
B.9 フォーマット
B.10 ネットワークと IPC
B.10.1 System V IPC
B.10.2 ソケット
B.11 セキュリティ
B.12 デバッグ
B.13 コマンドラインオプション
B.14 組み込み変数
B.15 リファレンス
B.15.1 複雑なデータ構造
B.15.2 オブジェクト指向プログラミング
B.15.3 無名サブルーチンとクロージャ
B.16 タイ変数
B.17 演算子オーバーロード
B.18 Perlから他の言語を使う
B.19 Perlを他のプログラムに組み込む
B.20 findコマンドラインを Perlに変換する
B.21 コマンドラインオプションを受け取る
B.22 ドキュメントを埋め込む
B.23 ファイルハンドルをオープンする他の方法
B.24 グラフィカルユーザインタフェース(GUI)
B.25 そしてまだまだ続く……

付録C Unicode入門
C.1 Unicode
C.2 UTF-8と仲間たち
C.3 みんなの同意を取り付ける
C.4 ファンシーな文字
C.4.1 ソースコードでUnicodeを使う
C.4.2 さらにファンシーな文字
C.5 Perlでの Unicodeの扱い方
C.5.1 ファンシーな文字を名前で指定する
C.5.2 STDINからの入力、STDOUTとSTDERRへの出力
C.5.3 ファイルの入出力
C.5.4 コマンドライン引数の扱い
C.6 データベースの扱い
C.7 参考文献

付録D 実験的機能
D.1 Perl開発小史
D.1.1 Perl 5.10以降
D.2 新しい Perlをインストールする
D.3 実験的機能
D.3.1 実験的警告をオフにする
D.3.2 実験的機能を限定的に有効または無効にする
D.3.3 実験的機能を信頼してはいけない

索引