名前
HTML::EmbeddedPerl - (主に)HTMLへのPerlコード埋め込み
概要
自動です
自動的に実行されている
インスタンス化されたオブジェクト $epl が渡される。 コードタグ内で使う例。
# output header ($key,$value)
$epl->header_out('Content-Type','text/html');
# set of contents type, default is 'text/html', output forcing.
$epl->content_type('text/html');
スクリプト内における使用
$htm = I<何か>;
use HTML::EmbeddedPerl;
$e = HTML::EmbeddedPerl->new();
# HTTPヘッダのセット (キー,値)
$e->header_out('Content-Create','foo');
# Content-Typeのセット、デフォルトは 'text/html'
$e->content_type('text/plain');
# HTTPヘッダとコンテンツの出力 (例:1)
$e->ep(\$htm);
# HTTPヘッダは出力されず、$rへコンテンツが返る
$r = $e->ep(\$htm);
# HTTPヘッダ出力
$e->flush;
# 上記と同じです (例:1)
print $r;
説明
(主に)HTMLのためのPerlコード埋め込み、それは簡素で容易です。
<$ Perl-Code $> をHTMLへ追加します。 またコードブロックが多数あれば、コードブロック間で局所化された変数は使用できません。
mod_perl2
グローバル変数使いたくないのであれば $var を使用してください。 $var は実行後に破棄されます。 しかしそれは複数タグの間においても使用することができます。
E<lt>FilesMatchE<quot>.*\.phtml?$E<quot>E<gt>
SetHandler B<perl-script>
PerlResponseHandler HTML::EmbeddedPerl
PerlOptions +ParseHeaders
E<lt>/FilesMatchE<gt>
コモン・ゲートウェイ・インターフェイス
最初の行へと挿入します。
#!/あなたの/パス/twepl
ラッパー
tweplを使うことができない? しかし wrapper.pl を利用することができます。
AddType application/x-embedded-perl .phtml
AddHandler application/x-embedded-perl .phtml
Action application/x-embedded-perl I</your/path/wrapper>
タイムアウト
ループ検知のためのタイムアウトを超えると強制終了します。 必要ならグローバル変数 $TIMEOUT を上書きして変更してください。
# 初期設定は E<quot>2E<quot> 秒です
$TIMEOUT = 2;
alarm の下で既に実行されて、そのタイムアウトの変更はできません。
# 新規タイムアウトとして
alarm($TIMEOUT);
# タイムアウトを取り消す
alarm(0);
mod_perl2
$TIMEOUT = B<X>;
# タイムアウトを取り消しタイムアウトを未設定とする
alarm(($TIMEOUT=0));
コモン・ゲートウェイ・インターフェイス
# 新規タイムアウトとして
alarm(B<X>);
ラッパー
サブルーチン ep() を呼ぶ前に
$HTML::EmbeddedPerl::TIMEOUT = B<X>;
予約済み変数
$TIMEOUT(グローバル)
$epl
$var
著者
トゥインクル・コンピューティング <twinkle@cpan.org>