起動したPerlスクリプトを常駐させることにより、次回起動時から、Perlスクリプトの起動の高速化をはかる事が出来る*1。
mod_perlやmod_fastcgiのようにApacheのモジュールとして組み入れなくても実行可能なので、サーバー管理者でなくても導入が可能。ユーザー権限でも実行できるのが特徴。
FreeBSDのportsにも、www/p5-CGI-SpeedyCGIとして用意されている。
なお。本家ではPersistentPerlと改名がなされた模様*2。
example
#!/usr/local/bin/speedy
use CGI qw/:standard/;
use vars qw($count);
$count = 0 unless (defined($count));
print header;
print start_html("Speedy CGI demo");
print
h1("Speedy CGI demo"),
"Invocation number ", b($count ++),
" PID ", b($$), ".",
hr;
print end_html;
- exampleのデモ - スクリプトが常駐しているので、変数の初期化は最初だけ。以後、値は保持されたままであるので、アクセスがある度、カウンタの値は増えていく*3。
*3ただし、常駐が一旦、終了すれば、当然、カウンタの値はリセットされます。スクリプトを修正したり、touch等でファイルの更新時刻を変更することによっても、初期化されます。