<<
sub faq {
my $faq = shift;
my ($var,$env,$q,$a);
my $n = 0;
local $/ = "Q:";
local $_;
open $faq,"$faq.faq" or return;
$_ = <$faq>;
while (<$faq>) {
chomp;
while (/\$([\w_]+)\$/) {
$var = $1;
$env = $ENV{$var} || '';
#s/\$$var\$/$env<\/tt>/g;
s/\$$var\$/$env/g;
};
($q,$a) = split /A:s*/;
$a =~ s/[\s\n]+$/\n/;
while ($a =~ s/^(\s*)\*/$1\n$1- /m) {
while ($a =~ s/(
- .*\n\s*)\*/$1
- /g) {}
$a =~ s:(.*\n)(\s*)(
- [^\n]+\n):$1$2$3$2
\n:s
}
$a =~ s/\n\n/\n\n/g;
$a =~ s/([^>\n\\])\n/$1
\n/g;
$a =~ s/\\\n/\n/g;
$a =~ s/^\s*
\s*//mg;
$a =~ s/<([^\s<>\@]+\@[\w.-]+)>/<$1><\/a>/g;
$a =~ s: (/\w[\S]+/[\S]+): $1:g;
$a =~ s/(https?:[^\s<>]+)/[$1]<\/a>/g;
$n++;
print qq(\n);
print qq(\n);
}
}
>>
<>
<>
<>
<>
## << faq($ENV{QUERY_STRING}) >>