Scroll to navigation

SSI_Parser(3pm) User Contributed Perl Documentation SSI_Parser(3pm)


CGI::SSI_Parser - Implement SSI for Perl CGI


  use CGI::SSI_Parser;
  $CGI::SSI_Parser::recursive = 1;


CGI::SSI_Parser is used in CGI scripts for parsing SSI directives in files or string variables, and fully implements the functionality of apache's mod_include module.

It is an alternative to famous Apache::SSI modules, but it doesn't require mod_perl. This is an advantage to those who are using public hosting services. There is a disadvantage, however - the module consumes much memory, and I don't recommend using it on heavy-loaded sites (currently it's being used on a site with 10000 hits, and I consider this as a limit). I hope to get rid of this disadvantage by the time the release comes out (currently it's beta).

SSI Directives

This module supports the same directives as mod_include. For methods listed below but not documented, please see mod_include's online documentation at .

  • config
  • echo

    This directive is not fully supported in current version.

  • exec
  • fsize
  • flastmod
  • include
  • printenv
  • set

    This directive is not supported in current version.

  • perl

    This directive is not supported in current version.

  • if
  • elif
  • else
  • endif

    These four directives are not supported in current version.

Outline Usage

First you need to load the CGI::SSI_Parser module:

  use CGI::SSI_Parser;

You need to specify the following when processing of all nested directives is needed (default value - 0):

 $CGI::SSI_Parser::recursive = 1;

To parse file or string you need to use:


The result is printed to STDOUT.


Full implementation of all SSI directives.

Optimize memory consumption.


Vadim Y. Ponomarenko,


mod_include, perl(1).

2022-01-08 perl v5.32.1