Perl & CGI言語リファレンスBlack Book

Perl & CGI言語リファレンスBlack Book

  • ただいまウェブストアではご注文を受け付けておりません。
  • サイズ B5判/ページ数 496p/高さ 24cm
  • 商品コード 9784844313205
  • NDC分類 007.64
  • Cコード C3055

出版社内容情報

Perlを鍛えて、CGIも自由自在!

CGIスクリプトやUNIX(Linux)でのテキストの処理などに使われる強力なス クリプト言語のPerlを、
正しく理解するための解説書です。Perlの豊富な機能を迷わ ず正確に使えるように、文法、言語規則、
データの構造、効率的なコードの書き方を 、具体的なコードを含めた解説から、そのまま使える実用
的なCGIスクリプトまで、Perlのすべてを簡潔に解説します。Perl5を使ってCGIを作りたいWeb開発者
(Windows /Linux)必携の1冊。


-----------<目次>-----------

訳者まえがき iii
著者/監訳者紹介 iv
はじめに v

Part I Perlの構文
第1章 Perlの基礎 3
1.1 概要 4
1.2 すぐ解決 5
1.2.1 Perlを入手してインストールするには 5
1.2.2 Perlスクリプトを書くには 6
1.2.3 スクリプトがPerlを認識できるようにするには 6
1.2.4 コードの書き方――文と宣言 10
1.2.5 Perlスクリプトを実行するには 10
1.2.6 Perlスクリプトを対話式に実行するには 13
1.2.7 コマンドラインスイッチの使い方 15
1.2.8 -wスイッチで警告を出力するには 17
1.2.9 標準ファイルハンドルを使ってテキスト入出力を扱うには 17
1.2.10 テキストを表示するには 18
1.2.11 行番号とスクリプトファイル名を表示するには 18
1.2.12 同じテキストを繰り返し出力するには 19
1.2.13 テキストの基本的な書式設定 19
1.2.14 書式なしテキストを表示するには 21
1.2.15 コードにコメントを追加するには 21
1.2.16 入力を読み取るには 22
1.2.17 デフォルト変数$_の使い方 23
1.2.18 ユーザーの入力データを整えるには 24
1.2.19 Windows 95/98、NTでスクリプトが即座に終了するのを防ぐには 25
第2章 スカラー変数とリスト 27
2.1 概要 29
2.1.1 スカラー変数 29
2.1.2 リスト 29
2.2 すぐ解決 31
2.2.1 スカラー変数とは 31
2.2.2 スカラー変数の命名規則 31
2.2.3 スカラーに代入するには 32
2.2.4 左辺値とは 32
2.2.5 スカラー変数で数値を扱うには 33
2.2.6 未定義値undefを扱うには 33
2.2.7 定数を宣言するには 34
2.2.8 Perlの真偽値を処理するには 35
2.2.9 8進数、10進数、16進数の間で変換するには 35
2.2.10 数字を丸めるには 36
2.2.11 スカラー変数で文字列を使うには 37
2.2.12 文字列を展開挿入するには 39
2.2.13 高度な展開挿入を行うには 41
2.2.14 クォーテーション付きワードと、クォーテーションなしワードの扱い方 42
2.2.15 リストとは 44
2.2.16 インデックスを使ってリスト要素を参照するには 45
2.2.17 リストを別のリストへ代入するには 45
2.2.18 リストをマップするには 46
2.2.19 リストの要素を連結して文字列を作るには 46
2.2.20 文字列を分割してリストを作るには 47
2.2.21 リストをソートするには 47
2.2.22 リストを逆順にするには 49
2.2.23 リストから要素を選択するには 49
2.2.24 スカラーコンテキストとリストコンテキスト 50
2.2.25 強制的にスカラーコンテキストにするには 50
第3章 配列とハッシュ 53
3.1 概要 54
3.1.1 配列 54
3.1.2 ハッシュ 54
3.1.3 型グロブ 55
3.2 すぐ解決 56
3.2.1 配列を作るには 56
3.2.2 配列を使うには 57
3.2.3 配列のプッシュとポップをするには 58
3.2.4 配列のシフトとアンシフトをするには 59
3.2.5 配列の長さを求めるには 60
3.2.6 配列の拡大と縮小をするには 61
3.2.7 2つの配列を結合するには 61
3.2.8 配列スライスを得るには 62
3.2.9 配列をループ処理するには 62
3.2.10 配列を出力するには 64
3.2.11 配列をスプライスするには 65
3.2.12 配列を逆転するには 66
3.2.13 配列をソートするには 66
3.2.14 ハッシュを作るには 67
3.2.15 ハッシュを使うには 70
3.2.16 ハッシュに要素を追加するには 70
3.2.17 ハッシュ要素の有無を調べるには 71
3.2.18 ハッシュ要素を削除するには 72
3.2.19 ハッシュをループ処理するには 72
3.2.20 ハッシュを出力するには 74
3.2.21 ハッシュをソートするには 74
3.2.22 2つのハッシュを結合するには 75
3.2.23 ハッシュと配列をリストへの代入の中で使うには 76
3.2.24 型グロブを使うには 77
3.2.25 型グロブとシンボルテーブルエントリを比較するには 78
第4章 演算子と優先順位 79
4.1 概要 80
4.1.1 演算子の優先順位 81
4.2 すぐ解決 83
4.2.1 最高の優先順位――項と左方向リスト演算子 83
4.2.2 矢印演算子を使うには 83
4.2.3 自動インクリメントと自動デクリメントを使うには 84
4.2.4 指数を使うには 85
4.2.5 シンボリック単項演算子を使うには 85
4.2.6 結合演算子を使うには 86
4.2.7 乗算、除算、剰余算、繰り返しをするには 86
4.2.8 加算、減算、連結をするには 87
4.2.9 シフト演算子を使うには 88
4.2.10 名前付き単項演算子を使うには 88
4.2.11 ファイルテスト演算子を使った作業 89
4.2.12 関係演算子を使うには 90
4.2.13 等価演算子を使うには 91
4.2.14 ビットごとの値の論理積 93
4.2.15 ビットごとの値の論理和 93
4.2.16 ビットごとの値の排他的論理和 94
4.2.17 「Cスタイル」の論理積を使うには 94
4.2.18 「Cスタイル」の論理和を使うには 95
4.2.19 範囲演算子を使うには 96
4.2.20 条件演算子を使うには 97
4.2.21 代入を扱うには 97
4.2.22 カンマ演算子を使うには 98
4.2.23 右方向リスト演算子を使うには 99
4.2.24 論理否定notを使うには 99
4.2.25 論理積andを使うには 99
4.2.26 論理和orを使うには 100
4.2.27 排他的論理和xorを使うには 100
第5章 条件文とループ 101
5.1 概要 102
5.1.1 条件文 102
5.1.2 ループ文 103
5.2 すぐ解決 105
5.2.1 if文を使うには 105
5.2.2 unless文を使うには 106
5.2.3 forを使って要素をループ処理するには 107
5.2.4 foreachを使って要素をループ処理するには 109
5.2.5 whileを使って要素をループ処理するには 111
5.2.6 untilを使って要素をループ処理するには 113
5.2.7 if、unless、until、whileを使って文を修飾するには 113
5.2.8 do whileループを作るには 114
5.2.9 nextを使って次のループの反復にスキップするには 115
5.2.10 lastコマンドを使ってループを終了するには 115
5.2.11 redoループコマンドを使って反復を再実行するには 116
5.2.12 switch文を作るには 117
5.2.13 gotoを使うには 118
5.2.14 eval関数を使ってコードを実行するには 119
5.2.15 exit文を使ってプログラムを終了させるには 120
5.2.16 die文を使うには 120
第6章 正規表現 123
6.1 概要 124
6.1.1 正規表現を使うには 124
6.2 すぐ解決 127
6.2.1 正規表現を作るには 127
6.2.2 正規表現で文字を使うには 128
6.2.3 正規表現で文字クラスを使うには 130
6.2.4 正規表現で選択的一致パターンを使うには 131
6.2.5 正規表現で量指定子を使うには 132
6.2.6 正規表現で位置指定子を使うには 133
6.2.7 後方参照を使って手前で一致した内容を参照するには 134
6.2.8 正規表現の拡張構文を使うには 135
6.2.9 m//とs///で修飾子を使うには 135
6.2.10 tr///で文字列を置換するには 136
6.2.11 tr///で修飾子を使うには 137
6.2.12 単語に一致させるには 138
6.2.13 行頭に一致させるには 138
6.2.14 行末に一致させるには 139
6.2.15 数値を検査するには 139
6.2.16 文字を検査するには 140
6.2.17 複数一致を見つけるには 141
6.2.18 大文字/小文字を区別せずに照合するには 142
6.2.19 部分文字列を抽出するには 143
6.2.20 正規表現で関数呼び出しとPerlの式を使うには 143
6.2.21 n個目の一致を見つけるには 143
6.2.22 量指定子の一致部分を短くするには 144
6.2.23 先頭と後続のスペースを削除するには 145
6.2.24 位置指定子を使って後方検索と前方検索をするには 145
第7章 サブルーチン 147
7.1 概要 148
7.1.1 サブルーチンを使って作業するには 148
7.2 すぐ解決 150
7.2.1 サブルーチンを宣言するには 150
7.2.2 プロトタイプを使うには 150
7.2.3 サブルーチンを定義するには 152
7.2.4 サブルーチンを呼び出すには 152
7.2.5 サブルーチンに渡された引数を読み出すには 153
7.2.6 異なる個数の引数を使うには 154
7.2.7 デフォルトの引数値を使うには 155
7.2.8 サブルーチン(関数)から値を返すには 156
7.2.9 myを使ってスコープを設定するには 157
7.2.10 レキシカルスコープを持つ変数を要求するには 159
7.2.11 localを使って一時変数を作るには 159
7.2.12 永続(静的)変数 160
7.2.13 サブルーチンを再帰的に呼び出すには 161
7.2.14 サブルーチンをネストするには 162
7.2.15 参照渡しするには 162
7.2.16 シンボルテーブルエントリ(型グロブ)を渡すには 164
7.2.17 wantarrayを使って返り先のコンテキストを調べるには 165
7.2.18 インライン関数を作るには 165
7.2.19 組み込み関数をオーバーライドしてCOREを使うには 166
7.2.20 無名サブルーチンを作るには 167
7.2.21 サブルーチンディスパッチテーブルを作るには 167
第8章 Perlの参照 169
8.1 概要 170
8.1.1 固定参照 170
8.1.2 シンボリック参照 171
8.1.3 矢印演算子 172
8.1.4 無名配列、無名ハッシュ、無名サブルーチン 172
8.2 すぐ解決 173
8.2.1 参照を作るには 173
8.2.2 無名配列への参照を作成するには 175
8.2.3 無名ハッシュへの参照を作るには 176
8.2.4 無名サブルーチンへの参照を作るには 176
8.2.5 シンボルテーブルを使って参照を取得するには 177
8.2.6 参照を逆参照するには 178
8.2.7 矢印演算子による逆参照 180
8.2.8 矢印演算子の省略 182
8.2.9 ref演算子を使って参照の型を調べるには 182
8.2.10 シンボリック参照を作成するには 183
8.2.11 シンボリック参照を使用禁止にするには 184
8.2.12 配列参照をハッシュ参照として使うには 185
8.2.13 Perlでスコープの永続的閉包を作るには 185
8.2.14 関数テンプレートから関数を作るには 186

Part II 組み込みリソース
第9章 組み込み変数 191
9.1 概要 193
9.1.1 組み込み変数の英語名 193
9.1.2 特定のファイルハンドラ用に組み込み変数を設定するには 195
9.2 すぐ解決 196
9.2.1 $'――一致以降の文字列 196
9.2.2 $-――ページの残り行数 196
9.2.3 $!――現在のエラー 196
9.2.4 $"――展開挿入される配列値の出力時のフィールド区切り文字 197
9.2.5 $#――数値出力時の出力書式 197
9.2.5 $#――数値出力時の出力書式 197
9.2.6 $$――Perlのプロセス番号 197
9.2.7 $%――現在出力ページ 197
9.2.8 $&――最新の一致内容 198
9.2.9 $(――実GID 198
9.2.10 $)――実効GID 198
9.2.11 $*――複数行検索 198
9.2.12 $,――出力フィールド区切り文字 199
9.2.13 $.――現在の入力の行番号 199
9.2.14 $/――入力レコード区切り文字 199
9.2.15 $:――文字列の折り返し文字 200
9.2.16 $;――添字区切り文字 200
9.2.17 $?――最後のパイプ、バッククォーテーション、システムコールのステータス 201
9.2.18 $@――最後のevalのエラー 201
9.2.19 $[――配列の開始添字 201
9.2.20 $\――出力レコード区切り文字 201
9.2.21 $]――Perlのバージョン 202
9.2.22 $^――現在のページ先頭フォーマット 202
9.2.23 $^A――書き出しアキュムレータの現在値 202
9.2.24 $^D――現在のデバッグフラグ 202
9.2.25 $^E――OS固有のエラー情報 202
9.2.31 $^O――オペレーティングシステム名 204
9.2.32 $^P――デバッグに対するサポート 204
9.2.33 $^R――最後の位置指定正規表現の結果 204
9.2.34 $^S――インタープリタの状態 205
9.2.35 $^T――スクリプトの実行開始日時 205
9.2.36 $^W――警告スイッチの現在値 205
9.2.37 $^X――Perlの実行ファイル名 205
9.2.38 $_――デフォルト変数 206
9.2.39 $`――一致までの文字列 206
9.2.40 $|――出力の自動掃き出し 206
9.2.41 $‾――現在のレポートフォーマットの名前 207
9.2.42 $+――最後に一致したかっこ 207
9.2.43 $<――実UID 207
9.2.44 $=――現在のページ長 208
9.2.45 $>――実効UID 208
9.2.46 $0――プログラム名 208
9.2.47 $ARGV――現在のファイルの名前 208
9.2.48 $n――n番目の一致パターン 209
9.2.49 %ENV――現在の環境変数とその値 209
9.2.50 %INC――インクルードされているファイル 210
9.2.51 %SIG――シグナルハンドラ 210
9.2.52 @_――サブルーチンの引数 210
9.2.53 @ARGV――コマンドライン引数 210
9.2.54 @INC――評価対象スクリプトの置き場所 211
第10章 組み込み関数――データ処理 213
10.1 概要 215
10.1.1 組み込み関数 215
10.2 すぐ解決 216
10.2.1 abs――絶対値の取得 216
10.2.2 atan2――アークタンジェントの取得 216
10.2.3 chomp――行末文字の削除 216
10.2.4 chop――最後の文字の削除 217
10.2.5 chr――ASCIIコードに対応する文字 217
10.2.6 cos――コサイン 218
10.2.7 each――ハッシュのキーと値のペア 218
10.2.8 eval――Perlのコードの評価と実行 218
10.2.9 exists――ハッシュのキーの存在 219
10.2.10 exp――eの累乗 219
10.2.11 hex――16進数の10進数への変換 219
10.2.12 index――部分文字列が出現する位置 220
10.2.13 int――整数部分の取得 220
10.2.14 join――リストの連結 221
10.2.15 keys――ハッシュキーのリスト 221
10.2.16 lc――小文字への変換 221
10.2.17 lcfirst――最初の文字の小文字への変換 222
10.2.18 length――文字列の長さ 222
10.2.19 log――自然対数 222
10.2.20 map――リストの各要素についてのコードの評価と実行 223
10.2.21 oct――8進数の10進数への変換 223
10.2.22 ord――最初の文字のASCIIコード値 223
10.2.23 pack――値のリストのバイナリデータ構造へのパック 224
10.2.24 pop――配列の末尾の要素の削除 225
10.2.25 POSIX関数 226
10.2.26 push――リスト値の配列の末尾への追加 226
10.2.27 rand――乱数 227
10.2.28 reverse――リストの要素の逆順での並べ替え 227
10.2.29 rindex――逆index 227
10.2.30 scalar――強制的なスカラーコンテキストでの評価 228
10.2.31 shift――配列の先頭の要素の削除 228
10.2.32 sin――サイン 228
10.2.33 sort――リストのソート 228
10.2.34 splice――配列の一部の要素の置換 229
10.2.35 split――単独文字列の複数文字列の配列への分割 230
10.2.36 sprintf――文字列の書式化 231
10.2.37 sqrt――平方根 232
10.2.38 srand――乱数の種の設定 233
10.2.39 sustr――部分文字列 233
10.2.40 time――1970年1月1日からの秒数 234
10.2.41 uc――大文字への変換 234
10.2.42 ucfirst――先頭の1文字の大文字への変換 234
10.2.43 unpack――バイナリデータ構造を含む文字列のリスト値への展開 234
10.2.44 unshift――リストの配列の先頭への挿入 235
10.2.45 values――ハッシュの中にあるすべての値のリスト 235
10.2.46 vec――文字列の符号なし整数のベクタとしての処理 236
第11章 組み込み関数――入出力とプロセス間通信 237
11.1 概要 238
11.1.1 Perlフォーマット 238
11.2 すぐ解決 240
11.2.1 print――リストデータの出力 240
11.2.2 printf――リストデータの書式付き出力 240
11.2.3 <>を使った入力の読み取り 241
11.2.4 getc――1文字の取得 242
11.2.5 write――書式付きレコードの書き込み 242
11.2.6 フォーマット――テキストの左寄せ 243
11.2.7 フォーマット――テキストの右寄せ 243
11.2.8 フォーマット――テキストの中央揃え 244
11.2.9 フォーマット――数値の出力 244
11.2.10 フォーマット――書式付き複数行の出力 245
11.2.11 フォーマット――分割したテキストを使った書式付き複数行の出力 245
11.2.12 フォーマット――書式なし複数行の出力 246
11.2.13 フォーマット――フォーム先頭部の出力 246
11.2.14 フォーマット――フォーマット変数を使うには 247
11.2.15 warn――警告の表示 248
11.2.16 exec――システムコマンドの実行(IPC) 248
11.2.17 system――システムコマンドのforkと実行(IPC) 249
11.2.18 別のプログラムからのデータを 249
11.2.19 別のプログラムにデータを送信するには(IPC) 250
11.2.20 子プロセスに書き込むには(IPC) 251
11.2.21 親プロセスに書き込むには(IPC) 252
11.2.22 別のプロセスにシグナルを送るには(IPC) 253
11.2.23 ソケットを使うには(IPC) 254
11.2.24 Win32 OLEオートメーション(IPC) 256
第12章 組み込み関数――ファイル操作 259
12.1 概要 261
12.1.1 ファイル操作のすべて 261
12.2 すぐ解決 263
12.2.1 open――ファイルのオープン 263
12.2.2 close――ファイルのクローズ 264
12.2.3 print――ファイルへの出力 265
12.2.4write――ファイルへの書き込み 266
12.2.5 binmode――バイナリモードの設定 266
12.2.6 出力チャンネルバッファを設定するには 267
12.2.7 コマンドラインから渡されたファイルを読み取るには 268
12.2.8 ファイルハンドルから読み取るには 268
12.2.9 read――入力の読み取り 269
12.2.10 readline――行単位でのデータの読み取り 269
12.2.11 getc――1文字の取得 270
12.2.12 seek――ファイルの現在位置の設定 270
12.2.13 tell――ファイルの現在地の取得 271
12.2.14 stat――ファイルステータス 272
12.2.15 POSIXのファイル関連関数 273
12.2.16 select――デフォルトの出力ファイルハンドルの設定 274
12.2.17 eof――ファイルの終わりの判定 274
12.2.18 DBMデータベースファイルに書き込むには 275
12.2.19 DBMデータベースファイルを読み取るには 276
12.2.20 flock――ファイルのロック 277
12.2.21 chmod――ファイルのパーミッションの変更 277
12.2.22 glob――条件に一致するファイルの取得 278
12.2.23 rename――ファイル名の変更 278
12.2.24 unlink――ファイルの削除 278
12.2.25 opendir――ディレクトリのオープン 279
12.2.26 closedir――ディレクトリのクローズ 279
12.2.27 readdir――ディレクトリエントリの読み取り 279
12.2.28 seekdir――ディレクトリ中での現在位置の設定 280
12.2.29 telldir――ディレクトリの位置 280
12.2.30 rewinddir――ディレクトリ位置の先頭への設定 280
12.2.31 chdir――カレントディレクトリの変更 280
12.2.32 mkdir――ディレクトリの作成 281
12.2.33 rmdir――ディレクトリの削除 281

Part III Perlプログラミング
第13章 組み込みモジュール 285
13.1 概要 286
13.1.1 Perlのモジュールを使うには 286
13.2 すぐ解決 292
13.2.1 Term::Cap――端末の操作 292
13.2.2 Math――複素数と大数 293
13.2.3 POSIX――Portable Operating System Interface 293
13.2.4 Benchmark――ベンチマークテスト 294
13.2.5 Time――時間と時間変換 294
13.2.6 Carp――呼び出し側から見たエラーの報告 295
13.2.7 locale――ロケールを区別する操作の有効化 295
13.2.8 File――ファイル操作 295
13.2.9 Net――インターネットアクセス 296
13.2.10 Safe――安全なコードコンパートメント 297
13.2.11 Tk――Tkツールキット 297
13.2.12 Tk――ボタンとテキストウィジェット 298
13.2.13 Tk――ラジオボタンとチェックボタンウィジェット 298
13.2.14 Tk――リストボックスウィジェット 300
13.2.15 Tk――スケールウィジェット 300
13.2.16 Tk――キャンバスウィジェット 301
13.2.17 Tk――メニューウィジェット 302
13.2.18 Tk――ダイアログボックスウィジェット 303
第14章 データ構造 305
14.1 概要 306
14.1.1 use strict vars――習慣にすべきプラグマ 309
14.2 すぐ解決 311
14.2.1 複雑なレコード――参照やその他の要素を記憶するには 311
14.2.2 配列の配列を1回の処理で作るには 312
14.2.3 配列の配列を複数回の処理で作るには 312
14.2.4 配列の配列にアクセスするには 314
14.2.5 ハッシュのハッシュを1回の処理で作るには 315
14.2.6 ハッシュのハッシュを複数回の処理で作るには 316
14.2.7 ハッシュのハッシュにアクセスするには 316
14.2.8 ハッシュの配列を1回の処理で作るには 318
14.2.9 ハッシュの配列を複数回の処理で作るには 318
14.2.10 ハッシュの配列にアクセスするには 319
14.2.11 配列のハッシュを1回の処理で作るには 321
14.2.12 配列のハッシュを複数回の処理で作るには 321
14.2.13 配列のハッシュにアクセスするには 322
14.2.14 リンクリストとリングバッファ 323
第15章 パッケージとモジュールの作成 325
15.1 概要 325
15.1.1 パッケージ 326
15.1.2 モジュール 328
15.2 すぐ解決 329
15.2.1 パッケージを作るには 329
15.2.2 パッケージコンストラクタBEGINを作るには 330
15.2.3 パッケージデストラクタENDを作るには 331
15.2.4 現在のパッケージを判断するには 332
15.2.5 パッケージを複数のファイルに分割するには 332
15.2.6 モジュールを作るには 333
15.2.7 モジュールからシンボルをデフォルトでエクスポートするには 334
15.2.8 シンボルをモジュールからエクスポートする許可を与えるには 335
15.2.9 シンボルのインポートを防ぐには 336
15.2.10 シンボルのエクスポートを防ぐには 336
15.2.11 importメソッドなしでエクスポートするには 337
15.2.12 ネストされたサブモジュールを作るには 338
15.2.13 モジュールのバージョンを調べるには 339
15.2.14 モジュールの中のサブルーチンを自動ロードするには 340
15.2.15 AutoLoaderとSelfLoaderを使うには 341
第16章 クラスとオブジェクトの作成 343
16.1 概要 344
16.1.1 クラス 344
16.1.2 オブジェクト 345
16.1.3 メソッド 345
16.1.4 継承 346
16.2 すぐ解決 347
16.2.1 クラスを作るには 347
16.2.2 コンストラクタを作るには 347
16.2.3 オブジェクトを作るには 348
16.2.4 クラスメソッドを作るには 348
16.2.5 インスタンスメソッドを作るには 349
16.2.6 メソッドを呼び出すには 350
16.2.7 インスタンス変数を作るには 350
16.2.8 プライベートなメソッドや変数を作るには 351
16.2.9 クラス変数を作るには 352
16.2.10 デストラクタを作るには 353
16.2.11 クラスの継承を実装するには 354
16.2.12 コンストラクタを継承するには 356
16.2.13 インスタンス変数を継承するには 356
16.2.14 多重継承をするには 357
16.2.15 基本クラスメソッドをオーバーライドするには 358
16.2.16 スカラーを結合するには 359
16.2.17 配列を結合するには 361
16.2.18 ハッシュを結合するには 362
16.2.19 PerlのUNIVERSALクラスを使うには 363
第17章 Perlのデバッグとスタイルガイド 365
17.1 概要 366
17.1.1 デバッグセッションの例 366
17.2 すぐ解決 369
17.2.1 実行時エラーをトラップするには 369
17.2.2 デバッガを起動するには 370
17.2.3 利用可能なデバッガコマンド 371
17.2.4 コードを表示するには 374
17.2.5 シングルステップで実行するには 374
17.2.6 サブルーチン呼び出しをシングルステップ実行するには 375
17.2.7 ブレークポイントを設定するには 376
17.2.8 ブレークポイントを削除するには 376
17.2.9 ブレークポイントまで継続するには 377
17.2.10 式の値を表示するには 377
17.2.11 式を評価するには 377
17.2.12 変数の値を変えるには 378
17.2.13 グローバル監視を設定するには 378
17.2.14 デバッガのアクションを設定するには 378
17.2.15 デバッガを終了するには 379
17.2.16 Perlスタイルガイド 379
Part IV CGIプログラミング
第18章 CGIプログラミング 383
18.1 概要 384
18.1.1 CGI.pmを使うには 384
18.1.2 HTMLコントロールを作成、使用するには 385
18.2 すぐ解決 394
18.2.1 PerlScriptを使うには 394
18.2.2 HTML文書をCGIで開始するには 395
18.2.3 HTMLの見出しを作るには 395
18.2.4 HTMLの要素を中央揃えするには 396
18.2.5 箇条書きリストを作成するには 396
18.2.6 ハイパーリンクを作るには 396
18.2.7 水平罫線を作るには 397
18.2.8 HTMLフォームを作るには 397
18.2.9 テキストフィールドを作るには 398
18.2.10 HTMLコントロールからデータを読み込むには 398
18.2.11 jcode.plの使い方 399
18.2.12 テキストエリアを作るには 400
18.2.13 チェックボックスを作るには 401
18.2.14 リストボックスを作るには 401
18.2.15 ラジオボタンを作るには 402
18.2.16 ドロップダウンリストボックスを作るには 403
18.2.17 隠しデータフィールドを作るには 403
18.2.18 [送信]ボタンと[すべて消す]ボタンを作るには 404
18.2.19 HTMLフォームを終了するには 405
18.2.20 HTML文書を終了するには 405
18.2.21 関数ベースのCGIプログラミング 405
第19章 cgi-lib.plを使ったCGIプログラミング 407
19.1 概要 408
19.1.1 cgi-lib.plを使うには 411
19.2 すぐ解決 415
19.2.1 cgi-lib.plに含まれているサブルーチン 415
19.2.2 HTML文書をCGIで開始するには 416
19.2.3 HTMLの見出しを作るには 416
19.2.4 HTMLの要素を中央揃えするには 417
19.2.5 箇条書きリストを作成するには 417
19.2.6 ハイパーリンクを作るには 417
19.2.7 水平罫線を作るには 418
19.2.8 HTMLフォームを作るには 418
19.2.9 テキストフィールドを作るには 418
19.2.10 HTMLコントロールからデータを読み込むには 419
19.2.11 テキストエリアを作るには 419
19.2.12 チェックボックスを作るには 420
19.2.13 リストボックスを作るには 421
19.2.14 ラジオボタンを作るには 421
19.2.15 ドロップダウンリストボックスを作るには 422
19.2.16 隠しデータフィールドを作るには 423
19.2.17 [送信]ボタンと[すべて消す]ボタンを作るには 423
19.2.18 HTMLフォームを終了するには 423
19.2.19 HTML文書を終了するには 424
19.2.20 すべての変数を表示させるには 424
第20章 CGI――カウンター、ゲストブック、メーラー、セキュリティ 427
20.1 概要 428
20.1.1 CGIのセキュリティ 428
20.2 すぐ解決 430
20.2.1 セキュリティの真面目な考察 430
20.2.2 汚染されたデータの処理 431
20.2.3 データの汚染の除去 433
20.2.4 UNIXで通常よりも多くの特権をCGIスクリプトに与えるには 433
20.2.5 Webカウンターの作成 434
20.2.6 ゲストブックの作成 436
20.2.7 CGIスクリプトからの電子メール送信 441
第21章 CGI――マルチユーザーチャット、クッキー、ゲーム 449
21.1 概要 450
21.1.1 チャットアプリケーション 450
21.1.2 クッキー 450
21.1.3 ゲーム 450
21.2 すぐ解決 452
21.2.1 マルチユーザー対応チャットアプリケーションを作るには 452
21.2.2 クッキーの書き込みと読み取り 459
21.2.3 ゲームの作成 463
索引 471

内容説明

本書はPerlの世界への扉を開くために、目的の項目を探しやすい独自の紙面で、Perl 5プログラミングを簡潔に解説。数々の名著を手がけたプログラミングの達人による本書は、400個もの実践的なサンプルを使い、500個ものPerlの要点を解説する。本書で解説するものは、複雑なPerlの文法の基本からの理解、Perlのクラスやオブジェクトの作り方、パッケージやモジュールの使い方、Tkツールキットとの接続、Web掲示板の作り方、Webチャットの作り方など多岐に渡る。もちろん、現場ですぐに役に立つ、デバッグ方法、クッキー、Webセキュリティ、Perl 5のすべての文法、CGIでの電子メール送信、データの高度な構造化などについても解説。Perlのエッセンスがこの1冊に凝縮されている。

目次

1 Perlの構文(Perlの基礎;スカラー変数とリスト;配列とハッシュ ほか)
2 組み込みリソース(組み込み変数;組み込み関数―データ処理;組み込み関数―入出力とプロセス間通信 ほか)
3 Perlプログラミング(組み込みモジュール;データ構造;パッケージとモジュールの作成 ほか)
4 CGIプログラミング(CGIプログラミング;cgi‐lib.plを使ったCGIプログラミング;CGI―カウンター、ゲストブック、メーラー、セキュリテイ ほか)