// declare the filter function
\EMBED{lang=perl}

sub lang2pp
 {
  # flag variable
  my $paragraphStart=1;

  # we know that we get the lines in an array, so ...
  foreach (@_ifilterText)
   {
    # recognize empty lines which start new paragraphs
    $paragraphStart=1, next unless /\S/;

    # translate headlines
    $paragraphStart and s/^(\*+)\s*/'=' x length($1)/e and (($paragraphStart=0), next);

    # translate bullet points
    $paragraphStart and s/^-(\s+)/*$1/ and (($paragraphStart=0), next);
   }

  # supply the translated text
  @_ifilterText;
 }

\END_EMBED


=A starting headline

Now the included file:

\INCLUDE{file="ifilters.lang" ifilter=lang2pp type=pp headlinebase=CURRENT_LEVEL}

And now, we embed something in this language. \EMBED{lang=pp ifilter=lang2pp}Oops!

Another lang(usage) source!

- lang is simple

- PerlPoint is simple and powerfull

OK!

\END_EMBED

Well.