---
name: "Apache::PerlRunFilter"
section: "3pm"
platform: "linux"
package: "libapache-filter-perl"
version: "1.024-2"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/Apache::PerlRunFilter"
---

# Apache::PerlRunFilter(3pm)

run Perl scripts in an Apache::Filter chain

## NAME

Apache::PerlRunFilter - run Perl scripts in an Apache::Filter chain

## SYNOPSIS

```
 #in httpd.conf
```

```
 PerlModule Apache::PerlRunFilter
```

```
 # Run the output of scripts through Apache::SSI
 <Files ~ "\.pl$">
  SetHandler perl-script
  PerlHandler Apache::PerlRunFilter Apache::SSI
  PerlSetVar Filter on
 </Files>
```

```
 # Generate some Perl code using templates, then execute it
 <Files ~ "\.tmpl$">
  SetHandler perl-script
  PerlHandler YourModule::GenCode Apache::PerlRunFilter
  PerlSetVar Filter on
 </Files>
```

## DESCRIPTION

This module is a subclass of Apache::PerlRun, and contains all of its functionality.  The only difference between the two is that this module can be used in conjunction with the Apache::Filter module, whereas Apache::PerlRun cannot.

It only takes a tiny little bit of code to make the filtering stuff work, so perhaps it would be more appropriate for the code to be integrated right into Apache::PerlRun.  As it stands, I've had to duplicate a bunch of PerlRun's code here (in the handler routine), so bug fixes & feature changes must be made both places.

## CAVEATS

Note that this is not an exact replacement for Apache::Registry - it doesn't do any of the code-caching stuff that Registry does.  It shouldn't be too hard a task, but for now Registry is still based on old code, and Doug's plan is to make future versions of Registry by subclassing PerlRun (see Apache::RegistryNG).  Since this is the case, I figured I'd hold off on doing any Registry work until things have moved forward a bit.

## SEE ALSO

[*perl*(1)](/perl/1.md), *mod\_perl*(3), *Apache::PerlRun*(3)

## AUTHOR

Ken Williams \<ken@forum.swarthmore.edu\>
