HTML::EmbeddedPerl - (主に)HTMLへのPerlコード埋め込み
自動 での実行が推奨されます。
インスタンス化されたオブジェクト $epl が渡されます。 それは Apache::RequestRec(modperl) か __PACKAGE__(cgi) のリファレンスです。 コードタグ内で使う例。
# 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 = 何か; 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へ追加します。 またコードブロックが多数あれば、それらコードブロック間で局所化された変数は使用できません。
グローバル変数使いたくないのであれば $var を使用してください。 $var は実行後に破棄されます。 しかしそれは複数タグの間においても使用することができます。
<FilesMatch ".*\.phtml?$"> SetHandler perl-script PerlResponseHandler HTML::EmbeddedPerl PerlOptions +ParseHeaders </FilesMatch>
たぶん PerlResponceHandler modperl にも対応します。
最初の行へ挿入します。
#!/あなたの/パス/twepl
tweplを使うことができませんか? しかし wrapper.pl を利用することができます。
AddType application/x-embedded-perl .phtml AddHandler application/x-embedded-perl .phtml Action application/x-embedded-perl /your/path/wrapper
ループ検知のためのタイムアウトを超えると強制終了します。 必要ならグローバル変数 $TIMEOUT を上書きして変更してください。
# 初期設定は "2" 秒です $TIMEOUT = 2;
alarm の下で既に実行され、そのタイムアウトの変更はできません。
# 新規タイムアウトとして alarm($TIMEOUT); # タイムアウトを取り消す alarm(0);
$TIMEOUT = X; # タイムアウトを取り消しタイムアウトを未設定とする alarm(($TIMEOUT=0));
# 新規タイムアウトとして alarm(X);
サブルーチン ep() を呼ぶ前に
$HTML::EmbeddedPerl::TIMEOUT = X;
これは単純に cgi-modperl 間の互換性を解決しています。
CGIでの利用のために。 他のサブルーチンの定義は自由です。
header_out content_type print flush
modperl下の実行においては Apache::RequestRec 等に依存します。
$TIMEOUT(グローバル) $epl $var
トゥインクル・コンピューティング <twinkle@cpan.org>
Copyright (c) 2010 Twinkle Computing All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install HTML::EmbeddedPerl, copy and paste the appropriate command in to your terminal.
cpanm
cpanm HTML::EmbeddedPerl
CPAN shell
perl -MCPAN -e shell install HTML::EmbeddedPerl
For more information on module installation, please visit the detailed CPAN module installation guide.