The iPerl interpreter is a transforming filter that works much like the C preprocessor or the m4 macro processor, only that the language embedded into a document is full powered Perl. iPerl documents consist of any kind of text to be output, and bits of specially-marked Perl that control the document with conditionals or loops spanning text, subdocument-includes, and macro definitions. This is comparable to but far more powerful than the C preprocessor or the m4 macro processor. It can also be seen as a template-mechanism.