- 名前
- 概要

- 自動的に実行されている
- スクリプト内における使用

- 説明

- modperl2
- cgi
- ラッパー

- タイムアウト

- modperl2
- cgi
- ラッパー

- 予約済み

- サブルーチン
- 変数

- β機能
- 作者
- ライセンス

# 名前

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へ追加します。 またコードブロックが多数あれば、それらコードブロック間で局所化された変数は使用できません。

## modperl2

グローバル変数使いたくないのであれば $var を使用してください。 $var は実行後に破棄されます。 しかしそれは複数タグの間においても使用することができます。

      <FilesMatch ".*\.phtml?$">
      SetHandler perl-script
      PerlResponseHandler HTML::EmbeddedPerl
      PerlOptions +ParseHeaders
      </FilesMatch>

たぶん PerlResponceHandler modperl にも対応します。

## cgi

最初の行へ挿入します。

      #!/あなたの/パス/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);

## modperl2

      $TIMEOUT = X;
      # タイムアウトを取り消しタイムアウトを未設定とする
      alarm(($TIMEOUT=0));

## cgi

      # 新規タイムアウトとして
      alarm(X);

## ラッパー

サブルーチン ep() を呼ぶ前に

      $HTML::EmbeddedPerl::TIMEOUT = X;

# 予約済み

これは単純に cgi-modperl 間の互換性を解決しています。

## サブルーチン

ベース。

      ep
      handler
      new

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.