try not to lose the reference to $self
[scpubgit/App-SCS.git] / lib / App / SCS.pm
index af606f1..035c803 100644 (file)
@@ -84,7 +84,11 @@ sub load_plugin {
 sub run_if_script {
   my $self = shift;
   if (caller(1)) {
-    return $self->web->to_psgi_app;
+    my $code;
+    return sub {
+      $code ||= $self->web->to_psgi_app;
+      &$code
+    };
   } else {
     return $self->run;
   }