Perl/CGI辞典(坂下 夕里)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Perl/CGI辞典

Perl/CGI辞典


形式:
書籍
発売日:
ISBN:
9784798103648
定価:
2,090(本体1,900円+税10%)
仕様:
A5・634ページ
  • このエントリーをはてなブックマークに追加

読んで納得!持ってて安心!ホームページ初心者でもできる!

掲示板・日記・カウンター・アクセス解析・アンケートなど、そのままではダサダサのフリーCGIを自分好みにアレンジ!

◎本書がPerl/CGI初心者にもわかりやすい7つの理由
1.初めての人が迷いやすいレンタルサーバの設定の仕方を丁寧に図解。
2.自分のPCにCGIのテスト環境(PerlとApache)を作る方法も丁寧に図解。
3.他書にはないエラーとデバッグの仕方を順序立てて解説。
4.よく使われるわりに情報が少ない正規表現をくわしく例解。
5.すぐに使えるサンプルで、プログラムの作り方を徹底解説。
6.Perlの関数を重要度別に★★★~★で評価。
7.関数リファレンスの例文が多く、使う際の注意が細かく説明されている。


第1章 CGIとは何か?

1 CGIででできること
2 CGIのしくみを知る
3 SSIの仕組みを知る

第2章 レンタルサーバでのCGI設定

1 CGI設置の流れ
2 レンタルサーバでのCGI環境を準備する
3 CGIファイルをどこに置くか
4 Perlとsendmailのパス、拡張子を確認する
5 CGIスクリプトをASCIIモードで転送する
6 ファイルの権限(パーミッション)とは何か?
7 権限を数値で表現する方法
8 権限の変更のしかた
9 CGI、SSI設置確認

第3章 自分のPCにCGIの動作環境を作る

1 なぜPCにCGIの動作環境が必要か?
2 Perlをインストールする
3 Perlのインストールを確認する
4 Apacheをインストールする
5 Apacheの基本設定
6 HTMLファイルが見れるかApacheの動作テストをする
7 DocumentRootを整理する
8 CGI、SSI動作用にApacheを設定する

第4章 CGIのエラーとデバッグ

1 いろいろなエラーコード
2 Error Code500が出たらまず確認すること
3 コマンドプロンプトから文法上の間違いをチェックする
4 CGIを使って文法上の間違いをチェックする
5 デバッグのしかた
6 Perlデバッガを使う

第5章 CGIの作法

1 CGIの出力
2 引数(フォームとデコード)
3 環境変数

第6章 Perl文法

Perlを学ぶ前に
1 プログラムの基礎
2 Perlの実行方法
3 CGIとPerlの関係
Perl文法の基礎
4 文・宣言など
変数・定数
5 Perlの変数の特徴
6 変数で数値を使う方法
7 変数で文字を使う方法
リスト(配列)・ハッシュ
8 リスト(配列)
9 ハッシュ
関係演算子と比較演算子
10 数値の演算子
11 文字列の演算子
12 否定
正規表現
13 正規表現とは何か?
14 基本的なマッチングパターン
15 正規表現に使ういろいろなパターン
制御処理
16 条件式と制御
条件分岐
17 if文(1)
18 if-else文
19 if-elseif-else文
20 if文(2)
21 unless-else文
繰り返し
22 while文
23 while-continue文
24 do~while文
25 ~while~文
26 until文
27 do~until文
28 ~until~文
29 for
30 forを使ったリストに対する繰り返し
31 foreach(1)
32 foreach(2)
ループ制御
33 goto label
34 last
35 next
36 redo
条件の判定
37 &&
38 ||
条件付き実行
39 &&
40 ||
41 ?-:
その他の繰り返し
42 x
43 ..
サブルーチン
44 サブルーチンの基本
45 引数と戻り値
46 プロトタイプ
47 呼び出し方のいろいろ
48 my変数とlocal変数
パッケージとモジュール
49 他のファイルのプログラムを読み込んで使う
50 パッケージ
51 モジュール
52 ライブラリ・モジュールの指定
ファイル操作
53 ファイル操作
入出力
54 標準入力・標準出力
55 ファイル入出力
56 複数行の出力

第7章 実用サンプルで学ぶCGIスクリプトの読み方/書き方

読み書きの基礎
1 長いCGI/Perlコード解読のコツ
CGIでよく利用するモジュール
2 引数と引数デコードライブラリ
3 日本語扱いライブラリ
4 日本語の文字化けを防ぐ処理
5 Cookie(クッキー)の処理
6 CGIのセキュリティ
CGIサンプル
0 CGIサンプル
1 普通のアクセスカウンター
2 flock関数を使わないカウンター
3 連続カウントを防止するカウンター
4 通常のカウンター+昨日と今日のカウント数表示(SSI方式)
5 日付・時刻表示(CGI方式)
6 日付・時刻表示(SSI方式)
7 カウントダウン
8 アクセスログ
9 ユーザ情報表示(SSI方式)
10 アンケートフォーム
11 投票フォーム
12 フォームを使ったパスワード
13 普通の掲示板
14 スレッド形式掲示板
15 フォームからのメール送信
16 チャット
17 カレンダー
18 日記

第8章 Perl関数リファレンス

算術
1 int
2 not
3 rand
4 srand
5 abs
6 exp
7 log
8 sqrt
9 sin
10 cos
11 atan2
文字列操作
1 length
2 chop
3 chomp
4 index
5 rindex
6 substr
7 lc
8 lcfirst
9 uc
10 ucfirst
11 crypt
12 quotemeta
13 q
リスト
1 each
2 keys
3 values
4 grep
5 reverse
6 sort
7 delete
8 join
9 split
10 splice
11 pop
12 push
13 shift
14 unshift
15 exists
16 map
17 scalar
18 ref
変換
1 pack
2 unpack
3 chr
4 ord
5 oct
6 hex
7 vec
検索・置換
1 s
2 tr
3 pos
入出力
1 open
2 close
3 flock
4 binmode
5 read
6 write
7 seek
8 getc
9 print
10 sprintf
11 printf
12 eof
13 tell
14 select
15 readline
ファイル・ディレクトリ操作
1 link
2 unlink
3 rename
4 mkdir
5 rmdir
6 opendir
7 closedir
8 readdir
9 telldir
10 seekdir
11 rewinddir
12 stat, lstat
13 chmod
14 chown
15 chdir
16 utime
17 readlink
18 symlink
19 truncate
日付・時刻
1 time
2 gmtime
3 localtime
システム
1 system
2 `プログラム`
3 exec
4 sleep
5 alarm
6 fork
7 wait
8 warn
9 times
10 waitpid
11 getppid
12 getpgrp
13 setpgrp
14 getlogin
15 getpwnam
16 getpwuid
17 getpwent
18 setpwent
19 endpwent
20 getgrnam
21 getgrgid
22 getgrent
23 setgrent
24 endgrent
制御
1 eval
2 sub
3 do
4 goto
5 die
6 exit
7 return
8 defined
9 caller
10 wantarray
その他
1 package
2 require
3 use
4 local
5 my
6 reset
7 undef
8 umask
ネットワーク
1 gethotobyaddr
2 gethostbyname
3 socket
4 bind
5 listen
6 accept
7 connect
8 shutdown
9 send
10 recv
11 getsockname
12 getpeername
13 getsockopt
14 setsockopt
15 socketpair
データベースアクセス
1 dbmopen
2 dbmclose

付属データはこちら

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2005年04月11日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 10
下の図
3刷
Content-taype:text/html
Content-type:text/html

2箇所あるのでどちらも修正
2004.10.06
1刷 11
3刷
A HREF="new_html
A HREF="new.html

2箇所あるのでどちらも修正
2005.04.11
1刷 11
4行目
3刷
HTMLの中で部分的にCGIを使うことが
HTMLの中で部分的にCGIと同様の機能を使うことが
2004.10.06
1刷 11
3刷
あなたは<!--#exec cmd="counu.pl"-->
あなたは<!--#exec cmd="count.pl"-->
2004.10.06
1刷 24
下の図
3刷
Content-taype:text/html
Content-type:text/html
2004.10.06
1刷 25
3刷
open(SENDMAIL"|/usr/bin/sendmail-t") close(SENDMAIL): tesu@bbb.co.jp
open(SENDMAIL, "|/usr/bin/sendmail -t") close(SENDMAIL) test@bbb.co.jp
2004.10.06
1刷 28
図 上のBinary転送の場合
3刷
print<<"EOM":[CR][LF] [CR][LF]
print<<"EOM"[CR][LF] Content-type:text/html[CR][LF] [CR][LF]
2004.10.06
1刷 28
図 下のASCIIモード転送の場合
3刷
print<<"EOM":[LF]
print<<"EOM"[LF]
2004.10.06
1刷 35
3刷
open(FILE, "file"): close(FILE):
open(FILE, "file") close(FILE)
2004.10.06
1刷 42
図 左下
3刷
#!:\perl\bin\perl
#!C:\perl\bin\perl
2004.10.06
1刷 50
apacheダウンロードURL
3刷
http://httpd.apache.org/dist/httpd/binaries/win32/
http://archive.apache.org/dist/httpd/binaries/win32/

URL変更
2004.01.05
1刷 57
本文2行目
3刷
http://フルコンピュータ名も可
http://フルコンピュータ名/も可
2005.04.11
1刷 85
3刷
Content-taype:text/html
Content-type:text/html

2箇所あるのでどちらも修正
2004.10.06
1刷 95
下の表 3つめ
3刷
GATEWAY_INTERFACE WWWサーバの使用しているCGIのバージョン。
GATEWAY_INTERFACE WWWサーバの使用しているCGIのバージョン。 を全て削除(同じ物が一番下にある)
2004.10.06
1刷 150
#用意したハッシュをリストに追加
3刷
my %person = (\%data1, \%data2);
my @person = (\%data1, \%data2);
2003.12.02
1刷 160
【マッチングサンプル】の下から2行目
3刷
print "NO!"<BR>\n;
print "NG!"<BR>\n;
2003.12.03
1刷 177
一番上のタイトル
3刷
if-elseif-else文
if-elsif-else文
2004.10.06
1刷 214
下の図
3刷
プログラムコマンド文の最後の;が全て:になっている(8箇所) &amp、&gt、&lt、&quotの後も全て;が:になっている
プログラムコマンド文の最後の:は全てにする(8箇所) &amp、&gt、&lt、&quotの後も全て:はにする
2004.10.06
1刷 215
1行目
3刷
サブルーチン化するべきしないべきか
サブルーチン化するべきかしないべきか
2004.10.06
1刷 217
下の図
3刷
プログラムコマンド文の最後の;が全て:になっている(7箇所) &amp、&gt、&lt、&quotの後も全て;が:になっている 戻り値の後の 'abc&lt:efg&gt:'
プログラムコマンド文の最後の:を全てにする(7箇所) &amp、&gt、&lt、&quotの後も全て:をにする 'abc&ltefg&gt'
2004.10.06
1刷 240
3刷
-u ファイルにsetuid -g ファイルがsetgid -k ファイルがstickyビットがセットされている。
-u ファイルにsetuidビットがセットされている。
-g ファイルsetgidビットがセットされている。
-k ファイルstickyビットがセットされている。
2005.04.11
1刷 250
一番上のから3行目プログラム内
3刷
EOM_LINE
END_LINE
2004.10.06
1刷 316
図の中
3刷
img.gif
image.gif
2004.02.25
1刷 317
4行目
3刷
img.gif
image.gif
2004.02.25
1刷 346
ダウンロード用サンプルファイル 13_bbs/bbs1.cgi 65行目
3刷
my $pageStr = &getPageList($count);
my $pageStr = &getPageList2($count);
2004.06.18
1刷 353
CGIの処理の流れ 1行目
3刷
ログ表示件や
ログ表示件
2004.10.06
1刷 368
4刷
16~17行目  サブジェクトに~コンバートします。
16~18行目  サブジェクトに~コンバートします。本文はJISに変換します。
2004.10.06
1刷 368
4刷
19~21行目 23~37行目
2022行目 2438行目
2004.10.06
1刷 369
mailsend.cgi
4刷
16: #サブジェクトをエンコード 17: my $enc_sub = &Base64Encode($subject); 18: 19: if($address~
16: #エンコード 17: my $enc_sub = &Base64Encode($subject); 18: &jcode'convert(*body,'jis'); 19: 20: if($address~

16行目を変更。18行目を追加、以下行数を1行ずらす。
2004.10.06
1刷 369
4刷
39~51行目 53~67行目 69~85行目
4052行目 5468行目 7086行目
2004.10.06
1刷 404
237~268行目の最初
3刷
日記のログに
日記のログ
2004.10.06
1刷 438
プログラム結果
3刷
<p> <a href="http://www.shoeisha.com/">
ehoge geh eho geh
2004.10.06
1刷 493
本文上から6行目
3刷
一度クローズされます
一度クローズされます。
2005.04.11
1刷 509
プログラム
3刷
my $v = printf("%03d\n", 9); print $v;
printf("%03d\n", 9);
2004.10.06
1刷 564
上のヘッダ内
3刷
getpwname
getgrnam
2004.10.06
1刷 597
下のスクリプト
3刷
open(FILE, "→>test.txt");
open(FILE, ">>test.txt");
2004.10.06
1刷 599
上のヘッダ内
3刷
gethostbyadr
gethostbyaddr
2004.10.06
1刷 目次
6章 分岐条件
3刷
19 if-elseif-else文
19 if-elsif-else文
2004.10.06