Perlメモ
ほとんど覚え書きみたいなものです。
CGIのデバッグ
スクリプトの先頭に
use CGI::Carp qw(fatalsToBrowser);
と書いておけば、致命的エラー(500:Internet Server Error)をトラップしてくれます。
URLのオートリンク
# テキスト中のURLをアンカータグで囲む
# (httpのみ)
$text =~ s/(http:\/\/[-\w.!~*'();\/?:@&=+\$,%\#]+)/<A HREF=$1>$1<\/A>/ig;
# URLっぽい文字列を抜き出す
$text =~ /([-_.!~*a-zA-Z0-9;\/?:\@&=+\$,%#]+)/i;
$url = $1;
配列のハッシュ
# 配列のハッシュを静的に作成する
%HoL = (
flintstones => [ "fred", "barney" ],
jetsons => [ "george", "jane", "elroy" ],
simpsons => [ "homer", "marge", "bart" ],
);
# アクセス/表示する
$HoL{flintstones}[0] = "fred";
# 配列のハッシュを動的に作成する
# 次のフォーマットに従ってファイルから読み込む
# flintstones: fred barney wilma dino
while ( <> ) {
next unless s/^(.*?):\s*//;
$HoL{$1} = [ split ];
}
# ファイルから読み込む; さらに作業変数を使う
while ( $line = <> ) {
($who, $rest) = split /:\s*/, $line, 2;
@fields = split ' ', $rest;
$HoL{$who} = [ @fields ];
}
.htaccess
# SSI実行
Options +Includes
AddType text/html .shtml
AddHandler server-parsed .shtml
DirectoryIndex index.html index.shtml index.cgi
# ファイル一覧表示のon/off(Indexes | -Indexes)
Option Indexes
# ホスト名によるアクセス制限
# (デフォルト拒否、許可するホストを指定)
order deny,allow
deny from all
allow from docomo.ne.jp
order deny,allow
# エラードキュメントを指定
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
# AddType text/x-server-parsed-html .html .htm
Apache(Cygwin)
/usr/sbin/apachectl start
/usr/sbin/apachectl help
/etc/apache/httpd.conf # 設定ファイル
/var/www/htdocs/ # ドキュメントルート
モジュール
CGI
CGI::Carp
HTTP::Lite