diff --git a/src/http/modules/perl/nginx.xs b/src/http/modules/perl/nginx.xs
index 2d7ede0..4d57bb6 100644
--- a/src/http/modules/perl/nginx.xs
+++ b/src/http/modules/perl/nginx.xs
@@ -47,7 +47,9 @@
 static ngx_int_t
 ngx_http_perl_output(ngx_http_request_t *r, ngx_buf_t *b)
 {
-    ngx_chain_t          *cl, out;
+    ngx_chain_t           out;
+#if (NGX_HTTP_SSI)
+    ngx_chain_t          *cl;
     ngx_http_perl_ctx_t  *ctx;
 
     ctx = ngx_http_get_module_ctx(r, ngx_http_perl_module);
@@ -65,6 +67,7 @@
 
         return NGX_OK;
     }
+#endif
 
     out.buf = b;
     out.next = NULL;
diff --git a/src/http/modules/perl/ngx_http_perl_module.c b/src/http/modules/perl/ngx_http_perl_module.c
index 04f7787..069c216 100644
--- a/src/http/modules/perl/ngx_http_perl_module.c
+++ b/src/http/modules/perl/ngx_http_perl_module.c
@@ -34,8 +34,11 @@
 } ngx_http_perl_variable_t;
 
 
+#if (NGX_HTTP_SSI)
 static ngx_int_t ngx_http_perl_ssi(ngx_http_request_t *r,
     ngx_http_ssi_ctx_t *ssi_ctx, ngx_str_t **params);
+#endif
+
 static ngx_int_t
     ngx_http_perl_get_interpreter(ngx_http_perl_main_conf_t *pmcf,
     PerlInterpreter **perl, ngx_log_t *log);
@@ -142,6 +145,8 @@
 };
 
 
+#if (NGX_HTTP_SSI)
+
 #define NGX_HTTP_PERL_SSI_SUB  0
 #define NGX_HTTP_PERL_SSI_ARG  1
 
@@ -152,11 +157,12 @@
     { ngx_null_string, 0, 0, 0 }
 };
 
-
 static ngx_http_ssi_command_t  ngx_http_perl_ssi_command = {
     ngx_string("perl"), ngx_http_perl_ssi, ngx_http_perl_ssi_params, 0, 1
 };
 
+#endif
+
 
 static void
 ngx_http_perl_xs_init(pTHX)
@@ -310,6 +316,8 @@
 }
 
 
+#if (NGX_HTTP_SSI)
+
 static ngx_int_t
 ngx_http_perl_ssi(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ssi_ctx,
     ngx_str_t **params)
@@ -385,6 +393,8 @@
     return rc;
 }
 
+#endif
+
 
 static ngx_int_t
 ngx_http_perl_get_interpreter(ngx_http_perl_main_conf_t *pmcf,
@@ -763,6 +773,7 @@
 static ngx_int_t
 ngx_http_perl_preconfiguration(ngx_conf_t *cf)
 {
+#if (NGX_HTTP_SSI)
     ngx_int_t                  rc;
     ngx_http_ssi_main_conf_t  *smcf;
 
@@ -780,6 +791,7 @@
 
         return NGX_ERROR;
     }
+#endif
 
     return NGX_OK;
 }
diff --git a/src/http/modules/perl/ngx_http_perl_module.h b/src/http/modules/perl/ngx_http_perl_module.h
index 921917b..1bc3852 100644
--- a/src/http/modules/perl/ngx_http_perl_module.h
+++ b/src/http/modules/perl/ngx_http_perl_module.h
@@ -26,7 +26,9 @@
     ngx_str_t                 redirect_uri;
     ngx_str_t                 redirect_args;
 
+#if (NGX_HTTP_SSI)
     ngx_http_ssi_ctx_t       *ssi;
+#endif
 } ngx_http_perl_ctx_t;
 
 
