|
|||||||||||||||||||||||||||
On Sat, 5 Jan 2002, Jonas Kongslund wrote:
> Dvs. givet et sgml-dokument med en properitær udvidelse
> ...
> <programlisting>
> !!!eksempler/Kodeeksempel.java!!!
> </programlisting>
> ...
> så skal den efter en tur igennem et perl script spytte følgende ud
> ...
> <programlisting>
> public class Kodeeksempel
> {
> public boolean isTwoLessThanFive()
> {
> return 2 < 5
> }
> }
> </programlisting>
> ...
docbook.java:
<programlisting>
Lidt java > foo | abc
!!!eksempler/Kodeeksempel.java!!!
</programlisting>
eksempler/Kodeeksempel.java:
public class Kodeeksempel
{
public boolean isTwoLessThanFive()
{
return 2 < 5
}
}
#!/usr/bin/perl
%mapping =
("<" => "<",
">" => ">",
"|" => "&pipe;",
"foo" => "bar");
@mapkeys = keys %mapping;
$mapregexp = "(". join("|", map { s/(\W)/\\$1/g;$_ } @mapkeys). ")";
while(<>) {
if(/<programlisting>/ .. m:</programlisting>:) {
if(/<programlisting>/ or m:</programlisting>:) {
# behold start og slutlinjer
print;
}else {
if(/!!!(.*)!!!/) {
# Læs fil ind i $_
open(IN,"$1") || die;
$_=join("",<IN>);
close IN;
}
s/$mapregexp/$mapping{$1}/g;
print;
}
} else {
print;
}
}
/Ole
--
Søges: 2-3 vær. lejlighed i Kbh K N Ø V. Eje, andel eller leje. Pris < 4500/md
Så hvis du kender nogen, der kender nogen, så drop en mail.
|
||||||||||||||
|
||||||||||||||