#!/usr/bin/perl
# $Id: filter2docs.pl,v 1.3 2008/05/11 12:31:29 fabiankeil Exp $
# $Source: /cvsroot/ijbswa/current/utils/filter2docs.pl,v $
# Parse the filter names and descriptions from a filter file and
# spit out copy&paste-ready markup for the various places in
# configuration and documentation where all filters are listed.
use strict;
use warnings;
die "Usage: $0 filter-file\n" unless (@ARGV == 1) ;
open(INPUT, "< $ARGV[0]") or die "Coudln't open input file $ARGV[0] because $!\n";
my ($comment_lines, $action_lines, $sgml_source_1, $sgml_source_2);
while () {
if (/^(FILTER): ([-\w]+) (.*)$/) {
my $type_uc = $1;
my $name = $2;
my $description = $3;
my $type = lc($type_uc);
$comment_lines .= "# $name:" . (" " x (20-length($name))) . "$description\n";
$action_lines .= "+$type" . "{$name} \\\n";
$sgml_source_1 .= " \n \n +" . $type . "{$name}" .
(" " x (20-length($name))) . "# $description\n \n";
$sgml_source_2 .= " -$type" . "{$name} \\\n";
}
}
print <