#!/usr/bin/perl $/="\n%%slide"; # Brug %%slide som record separator # Lav oversættelse af < og > til HTML %than=("<" => "<", ">" => ">" ); while(<>) { # For hver %%slide gør: my @HTML; # Ny HTML-side for (split(/\n+/,$_)) { # Split record til linier # for hver linie gør: s/(<|>)/$than{$1}/g; # Udskift < og > med HTML /^%%/ && next; # Spring over linier, der starter med %% /^\s*$/ && next; # Spring over tomme linier # Linier startende med '*' skal have

/^\*/ && do { push(@HTML,"

",$_,""); next; }; # Linier startende med ' -' skal have

/^ \-/ && do { push(@HTML,"

",$_,"

"); next; }; # Linier startende med ' +' skal have

/^ \+/ && do { push(@HTML,"

",$_,"

"); next; }; # Linier startende med non-space (slide overskrift) skal centreres /^\S/ && do { push(@HTML,"

",$_,"

"); next; }; # Alle andre linier (Perl-kode) PRE-formatteres { push(@HTML,"
",$_,"\n
"); next; }; } $slide++; # Tæl slidenr op open(FH,">slide.${slide}.html") || die; # Åbn en html-fil print FH "
",@HTML,"
"; # Skriv @HTML til filen close FH; }