PSGIスクリプトはコードリファレンスを返さなければならないということで,スクリプトを以下のようなレイアウトにしなければならないと考えがちだ。 #!perl-w use strict; [モジュールのロード] [ユーティリティ関数群] sub { [メインルーチン] }; __END__ しかしPSGIの要求はコードリファレンスであって,必ずしも無名関数である必要はない。むしろ,メインルーチンにも名前が付いていたほうがデバッグ等がしやすいのではないかと思う。 そこで,以下のように名前付き関数をエントリポイントにするというレイアウトを提案する。 #!perl-w use strict; [モジュールのロード] sub psgi_main { [メインルーチン] } [ユーティリティ関数群] return \&psgi_main; __END__ ポイントは,最後の return \&psgi