Smart -Web Magazine

WEB開発者に嬉しいステキ講座

MENU

Headline

ステータスコード

2011年10月18日 コメントの追加

ステータスコード一覧 HTTP1.1

※強調したステータスコードはよく使われるものです。

100番台 情報
アクセス中の送受信情報。リクエストは受け入れられ、処理を継続します。
100 Continue
101 Switching Protocols

200番台 成功
アクセスの正常終了。要求されたMIMEフォーマットのデータを返します。
200 OK
-リクエストの処理が正常に終了しました。
201 Created
-リクエストされたリソースの作成が成功しました。

新しく作成したリソースのURLを返します。バックグラウンドで長時間の処理が予想される場合は202を使用しましょう。
202 Accepted
-リクエストを受け付けて処理を行っていますが、処理はまだ完了していません。

長時間の処理を行う場合は、このステータスコードでクライアントに待つように指示することができます。
203 Non-Authoritative Information
204 No Content
-リクエストは正しいのですが、返す情報がありません。
205 Reset Content
-入力フォームをクリアしてください。
206 Partial Content
リソースに対する部分的な GET リクエストを受け入れました

300番台 転送
リクエスト対象のリソースが他の場所にあることをさします。リクエストを完了するためには、さらに動作を行う必要があります。
300 Multiple Choices
-リクエストは他の場所にもあります。

リクエスト対象のリソースが複数ある場合は、Location ヘッダをリストとして返します。
301 Moved Permanently
-要求されたリソースは、新しい URL が割り当てられています。

新しい URL を Location ヘッダとして返します。
302 Moved Temporarily/Found
-要求されたリソースは、一時的に別の URL に移っています。新しい URL にリダイレクトします。

新しい URL を Location ヘッダとして返します。
303 See Other
-指定したURLを参照してください。
304 Not Modified
-リクエストされたリソースは更新されていません。

このステータスコードが返されると、ブラウザはキャッシュを使ってローカルにあるリソースを表示します。

ブラウザはウェブサーバにリソースを要求される前に、キャッシュにそのリソースがあるかを調べます。キャッシュにリソースがあった場合は、 If-Modified-Since フィールドを使ってキャッシュの更新日付を送信します。それを受けたウェブサーバは、 If-Modified-Since で指定された日付以降にリソースが変更されていないかチェックし、変更されていなければ、要求されたリソースを送信する代わりにこのステータスコードを返します。
305 Use Proxy
-指定したプロキシを通ってアクセスしてください。
307 Temporary Redirect
-リクエストされたリソースが一時的に移動されています。

400番台 クライアントエラー
クライアント側のリクエストエラー
400 Bad Request
-リクエストに間違ったシンタックスがあります。
401 Unauthorized
-アカウントとパスワードによる認証が必要です。

認証が必要なページへの要求し、認証を行わなかった場合に表示されます。
402 Payment Required
(このステータスコードは予約されたエラー通知です)
403 Forbidden
-アクセス権限がありません。

要求したリソースはアクセスを禁止されています。
404 Not Found
-リクエストされたリソースが見つかりませんでした。

要求したリソースが移動されたか、パスが正しくない場合に返されます。
405 Method Not Allowed
-リクエストに対して無効なメソッドです。
406 Not Acceptable
-リクエストはクライアントが指定できません。
407 Proxy Authentication Required
-プロキシサーバーの認証が必要です。
408 Request Time-out
-リクエストの処理の途中でタイムアウトしました。

サーバの待ち時間の間に、クライアントからのリクエストがなかった場合に返されます。
409 Conflict
-リソースの競合が発生しました。

リクエストがリソースの現在の状態との矛盾している場合に返されます。
410 Gone
リクエストされたリソースは、もはやそのサーバでは利用できないし、転送先のアドレスも分からない。
411 Length Required
412 Precondition Failed。
413 Request Entity Too Large
-リクエストされたリソースのサイズが大きすぎるため、処理を拒否します。
414 Request-URI Too Large
-リクエストのサイズが大きいため、処理を拒否します
415 Unsupported Media Type
-リクエストされたメディアタイプはサポートされていません。
416 Requested range not satisfiable
417 Expectation Failed

500番台 サーバエラー
サーバでのエラー
500 Internal Server Error
-リクエストを実行中に予期しない状態になりました。

リクエストの処理中にエラーが発生した際に、このステータスコードが返されます。
501 Not Implemented
-リクエストを実行するために必要な機能がサポートされていません。
502 Bad Gateway
-アクセス先のサーバーでエラーが発生しました。

プロキシを利用していて、その先のサーバでエラーが発生した際に返されます。
503 Service Unavailable
-サービスを一時停止しています。

このエラーの原因として、サーバーが一時的にビジーであるか、過剰な負荷がかかっていることが考えられます。このエラーが表示されたら、しばらく待ってからアクセスしたほうがよいでしょう。
504 Gateway Time-out
-ゲートウェイ間の通信の途中でタイムアウトしました。

リクエストを受けたサーバがプロキシとして動作している場合で、相手先がタイムアウトを起こした場合に返されます。
505 HTTP Version not supported
-リクエストにあるHTTP プロトコルバージョンをサポートしていない、もしくはサポートを拒否しています。
このエントリーをはてなブックマークに追加

ヘッダフィールド

2011年10月18日 コメントの追加
ヘッダフィールド一覧
リクエスト・ヘッダ
フィールド名 バージョン 解説
Accept   利用可能なアプリケーション・メディアタイプ。複数指定、優先度指定も可能
Accept-Charset   利用可能な文字セット
Accept-Encoding   利用可能なエンコーディング形式(Content Coding形式)
Accept-Language   利用可能な言語コード。複数指定し、優先度を付けることが可能
Authorization ログインに必要な認証情報。ユーザー名とパスワードが格納される
Expect   サーバ要求が実装されているかどうかの確認時に期待されるレスポンスを指定する
From 利用ユーザーに固有なメールアドレスなどの情報。ただし無条件にリクエストに付加するのはセキュリティ上の問題でもあり、あまり実装されていない
Host   リクエスト先サーバ名。DNS名を利用する。1.1ではプロキシや仮想サーバの利用を前提に、必須としている
If-Modified-Since Date を指定する。指定した Date より最新のリソースの場合のみデータを取得できるように指示する。ローカルキャッシュの最新確認に使用される。

キャッシュの有効性の確認
このフィールドで指定した日付と、リソースの更新日を比較し、リソースのほうが新しい場合のみデータを取得できるように指示します。

If-Match   指定したエンティティタグに一致する場合のみデータを更新/取得するように指示する
If-None-Match   指定したエンティティタグに一致しない場合のみデータを更新/取得するように指示する。最新情報の取得や競合の排除のために指定される
If-Range   指定されたエンティティタグが最新であれば、それ以外の残りを転送するように指示する。Rangeとともに使用される。または最終更新時刻(Date)を指定してもよい
If-Unmodified-Since   Dateを指定する。指定したDate以降リソースが更新されていない場合のみデータを取得できるように指示する
Max-Forwards   経由できるプロキシの最大数
Proxy-Authorization   プロキシにログインが必要な場合のための認証情報
Range   取得するデータのバイトレンジ。単位はバイト
Referer 直前にリンクされていた URL 情報
TE   利用可能なエンコーディング形式(Transfer Coding方式)
User-Agent ブラウザの固有情報

○……1.0/1.1共通
無印……1.1より追加

エンティティ・ヘッダ
フィールド名 バージョン 解説
Allow 利用可能なリクエスト・メソッドの一覧
Content-Encoding リソース・コンテンツのエンコード方法(Content Coding方式)。1.1では、gzip、compress、deflate、identity(エンコードなし)が定義されている
Content-Language   リソース・コンテンツの使用言語コード
Content-Length リソース・コンテンツのサイズ。単位はバイト

出力のバイト単位の長さ
バイナリデータも含みます。

Content-Location   リソース・コンテンツの固有位置を示すURI

Content-MD5   リソース・コンテンツのMD5検証値。チェックサムとして利用できる
Content-Range   転送されたデータがあるリソース・コンテンツの一部だった場合にデータのレンジを示す
Content-Type リソース・コンテンツのアプリケーション・メディアタイプ。MIMEのメディアタイプと同様

出力のMIMEタイプ

Expires リソース・コンテンツの有効期限。Date値

リソースの有効期限
この日付以降は無効です。キャッシュは破棄されます。

Last-Modified リソース・コンテンツの最終更新時刻。Date値

リソースの更新日

○……1.0/1.1共通
無印……1.1より追加

レスポンス・ヘッダ
フィールド名 バージョン 解説
Accept-Ranges   返答したデータのレンジ。単位はバイト
Age   キャッシュデータの場合の経過時間。単位は秒
ETag   エンティティタグ。リソースの全体や一部を特定する固有値
Location リダイレクト先URL。HTMLの と同等の動作を行う

リダイレクト URL 情報
Location で指定されたリソースが送信されます。
単独ヘッダとして出力されます。

Proxy-Authenticate   プロキシにおける認証領域名を示す固有値。HTTPサーバでのWWW-Authenticateに該当する
Retry-After   サービスの一時停止期間/時刻を表す。コード503(Service Unavailable)に伴う。単位は秒数かDate
Server HTTPサーバアプリケーション種類を示す固有テキスト値

ウェブサーバの名前とバージョン情報。

Vary   指定されたフィールドがサーバによって受け入れ可能なオプションと判断された(Server Drivenネゴシエーション)ことを示す
WWW-Authenticate 認証の領域名を示す固有値。HTTPサーバのRealmと一致する

認証データ。
認証に必要なユーザー名やパスワードなどの情報が含まれます。

Status-----   リクエストのステータス
単独ヘッダとして出力されます。
Refresh-----   指定されたドキュメントを再ロードする。
Set-Cookie---   データをクライアント側に保存する。

○……1.0/1.1共通
無印……1.1より追加

一般・ヘッダ
フィールド名 バージョン 解説
Cache-Control   キャッシュのコントロールに必要な指示や情報
Connection 接続の永続性情報。'none'が指定されると、レスポンス後の接続は解除される
Date   日付情報。RFC822形式、RFC850形式、ANSI C形式などを受け入れる必要がある

現在の日付(グリニッジ標準時)

Pragma 関連するクライアント/プロキシ/サーバそれぞれに認識させるための特殊な追加情報を記述する(例えば、'no-cache'で無条件で最新リソースを強制転送させる、など)

リソースのキャッシングを有効/無効にする
「Pragma: no-cache」と指定すると、リソースのキャッシュを無効にします。

Trailer チャンク形式エンコーディングで使用されるフィールドを記述する
Transfer-Encoding   利用されている転送エンコーディング形式(Transfer Coding:形式)。1.1ではチャンク形式が定義されている
Upgrade   HTTPの上位バージョンやその他プロトコルに移行する際に、取り得るプロトコルを指定する
Via   経由した主にプロキシの情報を格納する。主にループの検知に使用される。
Warning   レスポンス・ステータスコードの付加的なコード番号やテキスト情報
○……1.0/1.1共通
無印……1.1より追加

RFC1945では現れないが、IETFにおけるHTTP 1.0ドラフト(draft-fielding-http-spec-01.txt)では定義されており、実際に利用しているWebブラウザも多い。HTTP 1.1では下位互換のために定義されている

メソッド

リクエストはブラウザが出力するものですが、その内容は HTML から指定することが可能です。リクエストメッセージ群には必ずメソッドと呼ばれるリクエスト行が含まれています。

メソッドとは、サーバにリクエストを指示するための命令です。HTTPで定義されているメソッドを紹介しましょう。

HTTP1.0で定義されているメソッド一覧

メソッド 説明
DELETE URLで指定したリソースを削除
GET URLで指定したリソースを取得
レスポンスのボディにはリソースのデータが含まれます。
HEAD URLで指定したリソースについてのレスポンスヘッダのみ取得
POST 指定したURLが示すサーバーのコマンドに対して、データを転送
リクエストのボディには転送するデータが含まれます。
PUT 指定したURLが示すリソースに対して、データを転送して置き換え
リクエストのボディには置き換えるデータが含まれます。
LINK (廃止されました)
UNLINK (廃止されました)

HTTP1.1で定義されているメソッド一覧

メソッド 説明
TRACE サーバーやプロキシの動作を診断するための情報を返答
OPTIONS 使用できるメソッドやオプションの一覧を取得
CONNECT プロキシでのトンネリング接続を行う

メソッドの中で実際によく利用されるのは GET メソッドPOST メソッドです。それ以外のメソッドは、セキュリティ上の問題などにより、実際に実装されているケースはほとんどありません。

このエントリーをはてなブックマークに追加

2011年10月18日
by リズムファクトリー
0 comments

setprotoent

getprotoent

endprotoent

setprotoent
getprotoent EXPR
endprotoent
setprotoent

[概要]  /etc/protocolsファイルをオープンします。
[戻り値] プロトコル名、エイリアス、プロトコル番号を返します。

getprotoent

[概要]  現在の位置の情報を取り出して返し、次の位置に移動します。
[戻り値] 成功時は"真"、失敗時は"偽"を返します。

endprotoent

[概要]  /etc/protocolsクローズします。
[戻り値] 成功時は"真"、失敗時は"偽"を返します。

getprotoent/setprotoent/endprotoentの使い方

# /etc/protocolsファイルからすべてのエントリを出力

setprotoent(1);

while ( my ($protname, $alias, $protnum) = getprotoent ) {
...
}
endprotoent;
このエントリーをはてなブックマークに追加

Perlの便利なリンク集

2011年10月18日 コメントの追加

Perlのリソース

Perl.com

Perl のマニュアル

Perlモジュール

  • 日本語の扱える jperl
  • jcode.pl 2.13 / jcode.pl の私的な解説書
    日本語コード変換を行うための Perl ライブラリです。JIS、EUC、シフトJIS 間の相互変換が行えるようになっていて、文字コードの自動認識にも対応しています。
  • Jcode.pm
    日本語コード変換を行うためのモジュールです。Jcodeの全機能は Encode module を通じてPerlに標準装備となります。 jcode.pl の機能に加えて、MIME header、 Unicodeがサポートされています。
  • CGI.pm
    CGI.pmはフォームのデータを受け取り、その値を元に動的ドキュメントを作成するなどのCGIプログラムの基本となる機能を搭載したモジュールです。

Perl関連サイト 【英】

  • Perldoc.org 【英】
    Perl に関するドキュメントをまとめています。
  • Perl Monks 【英】
    Perl のコーディングテクニックなどを紹介しています。
  • Use Perl 【英】
    Perl に関する話題や最新モジュールなどの紹介があります。

Perl&CGI講座

HTML講座

Perl&CGI作成お役立ちサイト

ダウンロードサイト

  • Inside Web
    膨大な量のサンプルスクリプトが揃っている。紹介コメントがわかりやすいよ。
  • FREEPerlCode.com【英】
    膨大な量のスクリプト、モジュールが揃っている。
  • Matt's Script Archive【英】
    ダウンロードサイトのスタンダード
  • WebScripts (Perl CGI Scripts)【英】
    ダウンロードサイトのスタンダード
  • Digit Mania - All【英】
    デジタルカウンターの素材をここでもか!というほど集めたサイト

原本

Perlに関するホームページ

国内、海外ともに、Perlに関する話題のためのニュースグループが存在します。

公式仕様

CGIやHTMLの公式サイトの一覧です。

Perlに関するメールサービス

Perlに関するメーリングリスト、ニュースレターなどの一覧

  • Perl ニュースレター
    「プログラミングPerl」(ラクダ本)の訳者である近藤嘉雪氏がPerl関連の話題を執筆するメールマガジン。内容はプログラミングテクニック、ヒント、便利なモジュールの紹介、Perl界のニュース 、役に立つリソースの紹介など。
このエントリーをはてなブックマークに追加

特殊変数一覧

2011年10月18日 コメントの追加

特殊変数一覧

※強調した特殊変数はよく使われるものです。

グローバルな特殊変数

$_

use English: $ARG

デフォルトで入力やパターンマッチの対象になる特殊変数です。

$.

use English: $INPUT_LINE_NUMER / $NR

[入出力関連] ファイルハンドルの現在の行数

※ファイルハンドルを明示的にクローズすると行番号もリセットされます。

$/

use English: $INPUT_RECORD_SEPARATOR / $RS

[入出力関連] 入力時のレコード区切り文字

デフォルト値は改行文字です。

$/ の使い方

$/ を未定義値にすると、ファイルの内容を一度に読み込むことができます。

undef $/;
open FILEHANDLE, "read.txt";
$text = <FILEHANDLE>; # すべての行を $text に代入

$,

use English: $OUTPUT_FIELD_SEPARATOR / $OFS

[入出力関連] 出力フィールドの区切り文字

$, の使い方

$, = '-';
print 1, 2, 3;
> 1-2-3

$\

use English: $OUTPUT_RECORD_SEPARATOR / $ORS

[入出力関連] 出力時の行末文字

デフォルト値は NULL です。

$\ の使い方

$\ = "\n";
print "Hello Perl World !";

$"

use English: $LIST_SEPARATOR

[入出力関連] 出力フィールドの区切り文字

デフォルト値は空白文字です。$, と同じですが、$" は配列値を展開する際に使えます。

$" の使い方

@list = (1, 2, 3);
$" = ',';
print "@list\n";
> 1,2,3

$;

use English: $SUBSCRIPT_SEPARATOR / $SUBSEP

ハッシュのインデックスの区切り文字

デフォルト値は \034 です。

$^L

use FileHandle: $FORMAT_FORMFEED

[フォーマット関連] 改ページ文字

デフォルト値は \f です。

$:

use FileHandle: $FORMAT_LINE_BREAK_CHARACTERS

[フォーマット関連] 折り返し文字

この変数に格納されている文字のあとに、折り返して次の行にフィールドを継続できます。

$^A

use English: $ACCUMULATOR

書き出しアキュムレータの現在値

write でフォーマットを呼び出したあとにアキュムレータの内容を出力します。

$#

use English: $OFMT

[不要] 出力時の数値形式

$?

use English: $CHILD_ERROR

最後に実行されたコマンドのステータス値

$!

use English: $OS_ERROR / $ERRNO

システムコールのエラー値

システムコール呼び出し時に発生したエラー番号、もしくはエラー文字列を格納します。

$! の使い方

# カレントディレクトリの移動
chdir( $ENV{'HOME'} ) or die $!;

$@

use English: $EVAL_ERROR

eval のエラーメッセージ

$@ の使い方

eval "require $class" or die $@;

$$

PerlのプロセスID

$<

use English: $REAL_USER_ID

PerlのプロセスのユーザーID

$>

$ERRECTIVE_USER_ID
$EUID

Perlのプロセスの実効ユーザーID

$(

use English: $REAL_GROUP_ID / $GID

PerlのプロセスのグループID

カレントプロセスの実グループIDが格納されています。グループが複数の場合、すべてのリストを格納します。実グループIDは、プログラムファイルのオーナーのグループIDです。

$)

use English: $EFECTIVE_GROUP_ID / $EGID

Perlのプロセスの実効グループID

カレントプロセスの実行グループIDが格納されています。グループが複数の場合、すべてのリストを格納します。実行グループIDは、プログラムを実行しているユーザのグループIDです。

$0

use English: $PROGRAM_NAME

Perl スクリプトのコマンド名

$[

[不要] 配列の最初のインデックスと、部分文字列の先頭文字のインデックス

デフォルト値は 0 です。

$]

use English: $PERL_VERSION

Perl のバージョン番号

$^D

use English: $DEBUGGING

デバッグフラグの値

$^E

use English: $EXTENDED_OS_ERROR

オペレーティングシステムのエラー情報

$^F

use English: $SYSTEM_FD_MAX

システムファイル記述子の最大値

$^H

現在の構文チェック内容

一部のプラグ間モジュールで有効な内部的なコンパイラヒントを格納します。

$^I

use English: $INPLACE_EDIT

-i オプションで指定したバックアップファイルの拡張子

書き戻し編集でバックアップファイルにつける拡張子を指定します。書き戻し編集を禁止するには undef を指定します。

$^M

緊急のメモリバッファ

メモリ不足の際に $^M で設定した領域をバッファとして使えます。$^M を利用するには、Perl のコンパイル時に -DPERL_EMERGENCY_SBRK を指定する必要があります。

$^M の使い方

次のようにして1Mバイトの緊急用のバッファを割り当てることができます。

$^M = ' ' x( x ** 20);

$^0

オペレーティングシステム名

$^P

デバッガが使用する内部フラグ

$^R

パターンにマッチした位置指定正規表現の結果

$^T

スクリプトを実行した時刻

エポック(1970年1月1日午前0時)からの秒数で表現されます。

$^T の使い方

print $^T;

$^W

警告スイッチ(-w)の現在値を示す論理値

警告スイッチを指定していると TRUE、それ以外は FALSE の値を格納します。

$^w 使い方

#!/usr/local/bin/perl -w

print $^W;

$^X

Perl の起動時の名前

$^X の使い方

print $^X;
> /usr/local/bin/perl

$ARGV

<>を使って読み取っているファイルの名前

$ARGV の使い方

@line = <>;
print $ARGV;

@_

サブルーチンへの引数


グローバルな特殊配列と特殊ハッシュ

@ARGV

スクリプトに渡されたコマンドライン引数

@ARGV の使い方

スクリプトを「% perl script.pl a b」のようにオプションをつけて起動した場合、次のようにその値を使うことができます。

print @ARGV;

@INC

Perlライブラリ検索ディレクトリ

@INC の使い方

自作のライブラリの場所をPerlに記憶させる場合は次のようにします。

push( @INC, '/home/user/LIB' );

これで「/home/user/LIB」にあるライブラリが自動的に読み込まれるようになります。

%INC

do や require によってインクルードされたライブラリファイル名

ハッシュのキーは指定したファイル名で、value は実際に見つかった場所です。

%ENV

環境変数の値

%ENV の使い方

while ( my($key, $value) = each %ENV ){
    print "key:$key value:$value\n";
}

%SIG

シグナルのシグナルハンドラ

%SIG の使い方

local $SIG{__WARN__} = sub{}; # warn を無効
local $SIG{__DIE__} = sub{}; # die を無効


グローバルな特殊ファイルハンドル

ARGV

コマンドラインで指定されたファイル名のリスト

コマンドラインで指定されたファイル名のリスト @ARGV を順番に読み込むための特殊ファイルハンドルです。通常、このファイルハンドルから入力を行うときは、空のファイルハンドルを使います。

ARGV の使い方

while( <> ){
    print $_, "\n";
}

STDERR

標準エラー用のファイルハンドル

STDIN

標準入力用のファイルハンドル

STDOUT

標準出力用のファイルハンドル

DATA

__END__ 以降のテキストを読み込む特殊ファイルハンドル

スクリプトが格納されているファイルのうち、 __END__ トークン以降の部分を読むための特殊ファイルハンドルです。

_

最後に実行したstat、lstat、ファイルテスト演算子が読み込んだ情報をキャッシュするのに用いる特殊ファイルハンドルです。


グローバルな特殊定数

__END__

プログラムの論理的な終わり

これ以降に続くテキストは全て無視されるが、DATAファイルハンドルで読み込むことができます。

__FILE__

このトークンがおかれている時点でプログラムのファイル名

文字列中には展開されません。

__LINE__

現在の行番号

文字列中には展開されません。

__PACKAGE__

コンパイル時の現在のパッケージ名

現在のパッケージがなければ未定義値です。 文字列中には展開されません。


パターンマッチに関する特殊変数

$n

パターンマッチの際のn番目のカッコに対応する文字列

$n の使い方

$x =~ /^\d+\t(\w+)\t(\w+)\t(\w+)\n$/;
my ($f1, $f2, $f3) = ($1, $2, $3);

$&

use English: $MATCH

パターンマッチにマッチした文字列

$`

use English: $PREMATCH

パターンマッチにマッチした部分の前側の文字列

$'

use English: $POSTMATCH

パターンマッチにマッチした部分の後側の文字列

$+

use English: $LAST_PAREN_MATCH

パターンマッチの最後のカッコに対応する文字列

$+ の使い方

$x =~ /^\d+\t(\w+)\t(\w+)\t(\w+)\n$/;
$field = $+;

$*

use English: $MULTILINE_MATCHING

[不要] 複数行検索

$* を 1 に設定すると、複数行にまたがって検索できます。


ファイルハンドルに関する特殊変数

$|

use English: $OUTPUT_AUTOFLUSH

autoflush HANDLE EXPR

[入出力関連] 出力の自動フラッシュ

0 以外が代入されると出力をバッファリングしなくなります。

$| の使い方

pipe( R, W ):
W->autoflush(1);

$%

use FileHandle: $FORMAT_PAGE_NUMBER

format_page_number HANDLE EXPR

[フォーマット関連] 現在のページ番号

$=

use FileHandle: $FORMAT_LINES_PER_PAGE

format_lines_per_page HANDLE EXPR

[フォーマット関連] 現在のページ行数(デフォルトは60)

$-

use FileHandle: $FORMAT_LINES_LEFT

format_lines_left HANDLE EXPR

[フォーマット関連] ページの残り行数

$~

use FileHandle: $FORMAT_NAME

format_name HANDLE EXPR

[フォーマット関連] フォーマット名

 デフォルト値はファイルハンドル名と同じです。

$^

use FileHandle: $FORMAT_TOP_NAME

format_top_name HANDLE EXPR

[フォーマット関連] ヘッダのフォーマット名

 デフォルト値はファイルハンドル名の後に _TOP を追加した名称になります。

このエントリーをはてなブックマークに追加

環境変数

2011年10月18日 コメントの追加
環境変数一覧
ウェブサーバ情報に関する環境変数リスト
GATEWAY_INTERFACE サーバが使用するCGIのレビジョン情報
[書式] CGI/レビジョン
SERVER_ADMIN ウェブサーバの管理者のメールアドレス情報。
SERVER_NAME サーバのホスト名、ドメイン名、またはIPアドレス情報。
SERVER_PORT リクエスト送信に使われたポート番号。
SERVER_PROTOCOL リクエスト送信に使われたプロトコルの名前とレビジョン情報。
[書式] protocol/revision
SERVER_SOFTWARE  CGI プログラム を起動したサーバソフトウエアの名前とバージョン情報。
[書式] name/version
CGI 環境の情報に関する環境変数のリスト
CONTENT_LENGTH POSTから標準入力に送信されたデータのバイト数。
CONTENT_TYPE POSTとPUTなどのクエリに添付されたデータのMIMEタイプ。
[書式] text/html...
DOCUMENT_ROOT 実行されているスクリプトの仮想パス(たとえば "/cgi-bin/program.pl")
PATH UNIXコマンドを起動するディレクトリ。
PATH_ INFO クライアントから送られるエキストラパス情報。
PATH_TRANSLATED ウェブサーバのドキュメントルートに環境変数PATH_INFOを追加した情報。
QUERY_STRING クエリとして送られたURL情報のクエスチョン( ? )以降の情報。データは『URLエンコード』されています。
REQUEST_METHOD リクエストを送信した方法(メソッド)。GETやPOSTなど。
SCRIPT_FILENAME CGI プログラムのファイル名も含めた絶対パス情報。
[例] /home/httpd/cgi-bin/script.cgi
SCRIPT_NAME CGI プログラムのルートディレクトリ以降のパス情報。
[例] /cgi-bin/script.cgi
クライアントに関する環境変数のリスト
AUTH_TYPE ユーザを認証するときに使用する認証メソッド。ウェブサーバとリモートホストがIDENTD認証デーモン(ユーザ認証プロトコル)を実行しているときだけ値がある。
PATH_TRANSLATED CGIプログラムに渡されるエキストラパス情報
HTTP_FROM リクエストを出しているユーザの電子メールアドレス。ほとんどのブラウザでは、この変数をサポートしていません。
HTTP_ACCEPT クライアントが受け付けることができるMIMEタイプのリスト。
HTTP_USER_AGENT クライアントがリクエストを発行するときに使用するブラウザ名
HTTP_REFERER 呼び出し元のURL。アドレスバーからの直接入力、ブックマークからのアクセスの際には値がありません。
REMOTE_ADDR リモートホストのIPアドレス情報。
REMOTE_HOST リモートホストのドメイン名。
REMOTE_IDENT リモートホストのユーザ名。
REMOTE_USER ユーザの認証名。ウェブサーバとリモートホストがIDENTD認証デーモン(ユーザ認証プロトコル)を実行しているときだけ値があります。

※強調した状態コードはよく使われるものです。

このエントリーをはてなブックマークに追加

Eminem Joins Slaughterhouse & Yelawolf For 2011 BET Hip Hop Awards Cypher

2011年10月14日 コメントの追加

話題沸騰のYelawolfとボスのEminem、それに実力派のラッパーがDJ Premierのビートでフリースタイルです。

Royce Da 5’9やジョエル・オーティスといったプリモ、Eminem近辺の実力派が盛り上げたところにEminemが登場。
どれくらいまでが即興かわかりませんが、とにかく全員凄いです。

あと、プリモのビートもまたいいんですけど、映像が一番気に入りました。
ちなみに、ロイス・ダ・ファイブ・ナイン(Royce Da 5'9")のハーイ、リアーナ、バイ、リアーナがTwitterで流行中とのこと。

このエントリーをはてなブックマークに追加

配列の最後の要素の最後のカンマ

2011年10月7日 コメントの追加

簡単なスクリプトだったのですが、IE7、IE6で次のように怒られました。

expected identifier, string or number

モダンブラウザだと大丈夫なのですが、古いブラウザは配列の終わりにカンマ(,)があると嫌がるんです。

$(this).animate({
     marginLeft: "-10px",
}, 100 );

結構これで怒られるんですが、対処法はすごく簡単。
次のように最後のカンマを削除すると怒られなくなります。

$(this).animate({
     marginLeft: "-10px"
}, 100 );

古いブラウザは空気を読まないですよね。

最後に空文字を入れるなどの方法もありますが、forなどでまわすときに空行を出力することになったりするので、素直にカンマを消す習慣を身につけたいと思います。

このエントリーをはてなブックマークに追加

jQueryのreadyの仕様について

2011年10月7日 コメントの追加

使用頻度の高いjQueryの$(document).readyメソッドですが、その仕様を少し詳しく調べる必要がありました。というのも、iPhoneやiPadの場合、ブラウザのバックボタンを使うと$(document).readyの内容が実行されないという現象があったからです。PCブラウザでは問題ありませんでした。

$(document).readyメソッドはDOM構築後に1回だけ実行されるようになっているため、バックボタンで戻った際はキャッシュが使われて$(document).readyメソッドが実行されないようです。

unloadの際になんらかの初期化をすればよさそうなので、無名関数を実行してみました。

$(window).unload(function(){});

これでバックボタンで戻った際も動くように。

このエントリーをはてなブックマークに追加

スマートフォンの解像度

2011年10月7日 コメントの追加
スマートフォンの解像度一覧
機種名 画面サイズ(縦x横) 解像度
Apple iPhone4/4S 960×640 326ppi
Apple iPhone3GS 480×320 165ppi
Apple iPad 1024×768 132ppi
Au IS03 960×640 326dpi
ドコモ Galaxy S SC-02B 800×480
ドコモ Galaxy Tab SC-01C 1024×600
ドコモ XPERIA SO-03C 854×480
LG KM900 Arena 800×480 311ppi
HTC Desire HD 800×480 252ppi
Samsung GALAXY TAB 1024×600(WSVGA)
Samsung GALAXY S 800×480 233ppi
Nokia N8 640×360 210ppi
このエントリーをはてなブックマークに追加

Jump to the top