#!/usr/bin/perl use strict; use Data::Dumper; my @lang = <>; my $thischar = ""; my $lastchar = ""; my @output; my $firsttime = 1; my $lasttime = scalar (@lang); for my $line ( @lang ) { $lasttime--; if ( $line =~ /^\#/ ) { print "----- ----- COMMENT ----- -----\n"; next; } $lastchar = $thischar; $thischar = substr($line, 0, 1); if ( (lc($lastchar) ne lc($thischar) and !$firsttime) or (!$lasttime)) { print "----- ----- fixup padding in output ----- -----\n"; my $padding = 0; for my $record ( @output ) { print Dumper(\$record); if (length($record->[0]) > $padding) { $padding = length($record->[0]); } } $padding++; open (FILE, ">".lc($lastchar).".html"); my $language = $ARGV; $language =~ s/^[\.\\\/]*([a-zA-Z])/$1/; print FILE q[
];
for my $record ( @output )
{
# fixup special characters
$record->[1] =~ s/à/à\;/g;
$record->[1] =~ s/a\\/à\;/g;
$record->[1] =~ s/á/á\;/g;
$record->[1] =~ s/a\//á\;/g;
$record->[1] =~ s/â/â\;/g;
$record->[1] =~ s/a\^/â\;/g;
$record->[1] =~ s/ã/ã\;/g;
$record->[1] =~ s/a\~/ã\;/g;
$record->[1] =~ s/ä/ä\;/g;
$record->[1] =~ s/a\./ä\;/g;
$record->[1] =~ s/ç/ç\;/g;
$record->[1] =~ s/è/è\;/g;
$record->[1] =~ s/e\\/è\;/g;
$record->[1] =~ s/é/é\;/g;
$record->[1] =~ s/e\//é\;/g;
$record->[1] =~ s/ê/ê\;/g;
$record->[1] =~ s/e\^/ê\;/g;
$record->[1] =~ s/ë/ë\;/g;
$record->[1] =~ s/e\./ë\;/g;
$record->[1] =~ s/ì/ì\;/g;
$record->[1] =~ s/i\\/ì\;/g;
$record->[1] =~ s/í/í\;/g;
$record->[1] =~ s/i\//í\;/g;
$record->[1] =~ s/î/î\;/g;
$record->[1] =~ s/i\^/î\;/g;
$record->[1] =~ s/ï/ï\;/g;
$record->[1] =~ s/i\./ï\;/g;
$record->[1] =~ s/ñ/ñ\;/g;
$record->[1] =~ s/n\~/ñ\;/g;
$record->[1] =~ s/ò/ò\;/g;
$record->[1] =~ s/o\\/ò\;/g;
$record->[1] =~ s/ó/ó\;/g;
$record->[1] =~ s/o\//ó\;/g;
$record->[1] =~ s/ô/ô\;/g;
$record->[1] =~ s/o\^/ô\;/g;
$record->[1] =~ s/õ/õ\;/g;
$record->[1] =~ s/o\~/õ\;/g;
$record->[1] =~ s/ö/ö\;/g;
$record->[1] =~ s/o\./ö\;/g;
$record->[1] =~ s/ù/ù\;/g;
$record->[1] =~ s/u\\/ù\;/g;
$record->[1] =~ s/ú/ú\;/g;
$record->[1] =~ s/u\//ú\;/g;
$record->[1] =~ s/û/û\;/g;
$record->[1] =~ s/u\^/û\;/g;
$record->[1] =~ s/ü/ü\;/g;
$record->[1] =~ s/u\./ü\;/g;
$record->[1] =~ s/ý/ý\;/g;
$record->[1] =~ s/y\//ý\;/g;
$record->[1] =~ s/ÿ/ÿ\;/g;
$record->[1] =~ s/y\./ÿ\;/g;
$record->[1] =~ s/ß/ß\;/g;
print "----- ----- build line ----- -----\n";
print FILE $record->[0] . substr(" ", 0, $padding - length($record->[0])) . $record->[1];
}
print FILE q[
];
print "----- ----- NEW LETTER ----- -----\n";
print "----- ----- CLOSING / OPENING FILE ".lc($thischar).".html ----- -----\n";
close FILE;
@output = ();
}
else {
print "----- ----- determining padding and fixing line ----- -----\n";
my ($en, $fn) = split(/\t/, $line);
print "$en:$fn ----- ---- PRINTING TO VBLE ----- -----\n";
push (@output, [$en,$fn]);
#print FILE $line;
}
$firsttime = 0;
}