#!/usr/bin/perl -w

# Hints:

# \374 : 374 ist octal, hexadecimal ist es FC (so mit less angezeigt) 
# also: \374 = \xFC
# unicode
# \303\274 = \xC4\x


# Ergebnisse checken:
# Nur 1 Codierung pro Zeile
# Codiert werden nur Nachnamen
# Im Vornamen ist die erwartete Lösung an gleicher Stelle wie iM Nachnamen
# Am Geburtsdatum wird erkannt:
#   Tag:Welcher Buchstabe codiert ist: 01=Wortanfang, 02=zweiter Buchstabe
#   Monat: Wievielte Version deselben Buchstaben ist es
#   Jahr: 1971 (1970+1) : iso8859-1  (Latin1)
#   Jahr: 1985 (1970+15): iso8859-15 (Latin9)
#   Jahr: 1952          : windows 1252
#   Jahr: 1988          : utf8


# Weiter:
# Dasselbe für unicode,latin9,iso8859-15
# cp1252 ist in Buchstaben betreffenden teilen identisch mit iso8850-1, aber
# Zusatzuzeichen kommen hinzu: EURO, S mit Dach, ...
# Diese Zusatzzeichen in konfigurierbaren Bereich von sophomorix-check
# Durch Parameter cp1252,8859-15 in sophomorix.conf können diese Zusatzzeichen
# so oder so codiert werden

use Getopt::Long;
Getopt::Long::Configure ("bundling");
use Sophomorix::SophomorixConfig;
use Sophomorix::SophomorixBase;

use utf8;

# Scriptname ermitteln
my @list = split(/\//,$0);
my $scriptname = pop @list;


# ===========================================================================
# Optionen verarbeiten
# ==========================================================================
$Conf::log_level=1;
my $help=0;
my $file_encoding="";
my $output_file="/root/schueler.txt";


# Parsen der Optionen
my $testopt=GetOptions(
           "verbose|v+" => \$Conf::log_level,
           "help|h" => \$help,
           "output-file|o=s" => \$output_file,
           "file-encoding|encoding|e=s" => \$file_encoding,
          );

# Prüfen, ob Optionen erkannt wurden
&check_options($testopt);



# --help
if ($help==1) {
   # Befehlbeschreibung
   print "\n$scriptname cretes a schueler.txt file with special characters\n";

   print('
Options
  -h  / --help
  -e / --encoding / --file-encoding 8859-1|8859-15|win1252|utf8
  -o / --output-file /path/to/file

');
   print "\n";
   exit;
}




open (FILE, ">$output_file");
# ascii characters
print FILE "# ASCII\n";
# '
print FILE "ASCII;O\x27Reilly;Tim;02.01.1950\n";
print FILE "ASCII;O\x60Reilly;Tim;02.02.1950\n";
# -
print FILE "ASCII;Mueller\x2DLuedenscheid;Hans;02.01.1950\n";
print FILE "ASCII;Mueller\x5FLuedenscheid;Hans;02.02.1950\n";


if ($file_encoding eq "" or $file_encoding eq "8859-1"){
   print FILE "# ISO 8859-1\n";
   # 
   # Quelle: Wikipedia -> iso 8859-1 (Latin1)
   #
   # -
   print FILE "ISO88591;Mueller\xAFLuedenscheid;Hans;02.03.1950\n";

   # A (C0 bis C5)
   print FILE "ISO88591;\xC0lbrecht;Albert;01.01.1971\n";
   print FILE "ISO88591;\xC1lbrecht;Albert;01.02.1971\n";
   print FILE "ISO88591;\xC2lbrecht;Albert;01.03.1971\n";
   print FILE "ISO88591;\xC3lbrecht;Albert;01.04.1971\n";
   print FILE "ISO88591;\xC5lbrecht;Albert;01.05.1971\n";
   # Ae
   print FILE "ISO88591;\xC4ro;Aero;01.01.1971\n";
   print FILE "ISO88591;\xC6ro;Aero;01.02.1971\n";
   # C
   print FILE "ISO88591;\xC7onrad;Cornel;01.01.1971\n";
   # E
   print FILE "ISO88591;\xC8ngel;Ernst;01.01.1971\n";
   print FILE "ISO88591;\xC9ngel;Ernst;01.02.1971\n";
   print FILE "ISO88591;\xCAngel;Ernst;01.03.1971\n";
   print FILE "ISO88591;\xCBngel;Ernst;01.04.1971\n";
   # I
   print FILE "ISO88591;\xCCnes;Inge;01.01.1971\n";
   print FILE "ISO88591;\xCDnes;Inge;01.02.1971\n";
   print FILE "ISO88591;\xCEnes;Inge;01.03.1971\n";
   print FILE "ISO88591;\xCFnes;Inge;01.04.1971\n";
   # D
   print FILE "ISO88591;\xD0ietrich;Dieter;01.01.1971\n";
   # N
   print FILE "ISO88591;\xD1eumann;Norbert;01.01.1971\n";
   # O
   print FILE "ISO88591;\xD2tto;Oliver;01.01.1971\n";
   print FILE "ISO88591;\xD3tto;Oliver;01.02.1971\n";
   print FILE "ISO88591;\xD4tto;Oliver;01.03.1971\n";
   print FILE "ISO88591;\xD5tto;Oliver;01.04.1971\n";
   # -> X
   print FILE "ISO88591;\xD8tto;Oliver;01.05.1971\n";
   # Oe
   print FILE "ISO88591;\xD6hler;Oehler;01.01.1971\n";
   # X
   print FILE "ISO88591;\xD7aver;Xenia;01.01.1971\n";
   # U
   print FILE "ISO88591;\xD9nger;Udo;01.01.1971\n";
   print FILE "ISO88591;\xDAnger;Udo;01.02.1971\n";
   print FILE "ISO88591;\xDBnger;Udo;01.03.1971\n";
   # Ue
   print FILE "ISO88591;\xDCber;Ueli;01.01.1971\n";
   # Y
   print FILE "ISO88591;\xDDilmaz;Yilgrim;01.01.1971\n";
   # Th \xDE (thorn)
   print FILE "ISO88591;\xDEiel;Thomas;01.01.1971\n";
   # ss
   print FILE "ISO88591;A\xDFmann;Assmus;02.01.1971\n";
   # a
   print FILE "ISO88591;W\xE0gner;Waltraud;02.01.1971\n";
   print FILE "ISO88591;W\xE1gner;Waltraud;02.02.1971\n";
   print FILE "ISO88591;W\xE2gner;Waltraud;02.03.1971\n";
   print FILE "ISO88591;W\xE3gner;Waltraud;02.04.1971\n";
   print FILE "ISO88591;W\xE5gner;Waltraud;02.05.1971\n";
   # ae
   print FILE "ISO88591;B\xE4r;Baerbel;02.01.1971\n";
   print FILE "ISO88591;B\xE6r;Baerbel;02.02.1971\n";
   # c
   print FILE "ISO88591;S\xE7hmidt;Schota;02.01.1971\n";
   # e
   print FILE "ISO88591;M\xE8yer;Melanie;02.01.1971\n";
   print FILE "ISO88591;M\xE9yer;Melanie;02.02.1971\n";
   print FILE "ISO88591;M\xEAyer;Melanie;02.03.1971\n";
   print FILE "ISO88591;M\xEByer;Melanie;02.04.1971\n";
   # i
   print FILE "ISO88591;F\xECscher;Finn;02.01.1971\n";
   print FILE "ISO88591;F\xEDscher;Finn;02.02.1971\n";
   print FILE "ISO88591;F\xEEscher;Finn;02.03.1971\n";
   print FILE "ISO88591;F\xEFscher;Finn;02.04.1971\n";
   # d
   print FILE "ISO88591;A\xF0am;Adele;02.01.1971\n";
   # n
   print FILE "ISO88591;E\xF1gel;Engin;02.01.1971\n";
   # o
   print FILE "ISO88591;K\xF2ch;Konrad;02.01.1971\n";
   print FILE "ISO88591;K\xF3ch;Konrad;02.02.1971\n";
   print FILE "ISO88591;K\xF4ch;Konrad;02.03.1971\n";
   print FILE "ISO88591;K\xF5ch;Konrad;02.04.1971\n";
   # F7 ist kein Buchstabe :- (geteilt-Zeichen, Taschenrechner)
   print FILE "ISO88591;K\xF8ch;Konrad;02.05.1971\n";
   # oe
   print FILE "ISO88591;K\xF6hler;Koehler;02.01.1971\n";
   # u
   print FILE "ISO88591;J\xF9ng;Julia;02.01.1971\n";
   print FILE "ISO88591;J\xFAng;Julia;02.02.1971\n";
   print FILE "ISO88591;J\xFBng;Julia;02.03.1971\n";
   # ue
   print FILE "ISO88591;M\xFCller;Juergen;02.04.1971\n";
   # y
   print FILE "ISO88591;Ho\xFDer;Hoyer;03.01.1971\n";
   print FILE "ISO88591;Ho\xFFer;Hoyer;03.02.1971\n";
   # th
   print FILE "ISO88591;Ro\xFE;Roth;03.01.1971\n";
}

if ($file_encoding eq "" or $file_encoding eq "8859-15"){
   #
   # ISO 8859-15 
   #
   print FILE "# ISO 8859-15 additions to ISO 8859-1\n";
   # S
   print FILE "ISO885915;\xA6ommer;Sonja;01.01.1985\n";
   # s
   print FILE "ISO885915;A\xA8mussen;Astrid;02.01.1985\n";
   # Z
   print FILE "ISO885915;\xB4iegler;Zita;01.01.1985\n";
   # z
   print FILE "ISO885915;A\xB8imi;Azadeh;02.01.1985\n";
   # Oe
   print FILE "ISO885915;\xBChler;Oehler;01.01.1985\n";
   # oe
   print FILE "ISO885915;B\xBDr;Boer;02.01.1985\n";
   # y
   print FILE "ISO885915;\xBEaso;Yannik;01.01.1985\n";
}



if ($file_encoding eq "" or $file_encoding eq "win1252"){
   #
   # win 1252
   #
   print FILE "# win1252 additions to ISO 8859-1\n";
   # S
   print FILE "WIN1252;\x8Aommer;Sonja;01.01.1952\n";
   # s
   print FILE "WIN1252;A\x9Amussen;Astrid;02.01.1952\n";
   # Z
   print FILE "WIN1252;\x8Eiegler;Zita;01.01.1952\n";
   # z
   print FILE "WIN1252;A\x9Eimi;Azadeh;02.01.1952\n";
   # Oe
   print FILE "WIN1252;\x8Chler;Oehler;01.01.1952\n";
   # oe
   print FILE "WIN1252;B\x9Cr;Boer;02.01.1952\n";
   # y
   print FILE "WIN1252;\x9Faso;Yannik;01.01.1952\n";
}


if ($file_encoding eq "" or $file_encoding eq "utf8"){
   #
   # UTF-8
   #
   ###############################################
   print FILE "# UTF-8 NON LETTERS\n";
   # -
   print FILE "UTF8;Mueller\xC2\xAFLuedenscheid;Hans;02.04.1988\n";
   # '
   print FILE "UTF8;O\xC2\xB4Reilly;Tim;02.03.1988\n";

   print FILE "# UTF-8 CAPITAL LETTERS\n";
   # A 
   print FILE "UTF8;\xC3\x80lbrecht;Albert;01.01.1988\n";
   print FILE "UTF8;\xC3\x81lbrecht;Albert;01.02.1988\n";
   print FILE "UTF8;\xC3\x82lbrecht;Albert;01.03.1988\n";
   print FILE "UTF8;\xC3\x83lbrecht;Albert;01.04.1988\n";
   print FILE "UTF8;\xC3\x85lbrecht;Albert;01.05.1988\n";
   # \xc4
   print FILE "UTF8;\xC4\x80lbrecht;Albert;01.06.1988\n";
   print FILE "UTF8;\xC4\x82lbrecht;Albert;01.07.1988\n";
   print FILE "UTF8;\xC4\x84lbrecht;Albert;01.08.1988\n";
   # Ae
   print FILE "UTF8;\xC3\x84ro;Aero;01.01.1988\n";
   print FILE "UTF8;\xC3\x86ro;Aero;01.02.1988\n";
   # B
   # \xc6
   print FILE "UTF8;\xC6\x81auer;Barbara;01.01.1988\n";
   print FILE "UTF8;\xC6\x82auer;Barbara;01.02.1988\n";
   # C
   print FILE "UTF8;\xC3\x87onrad;Clara;01.01.1988\n";
   # \xc4
   print FILE "UTF8;\xC4\x86onrad;Clara;01.02.1988\n";
   print FILE "UTF8;\xC4\x88onrad;Clara;01.03.1988\n";
   print FILE "UTF8;\xC4\x8Aonrad;Clara;01.04.1988\n";
   print FILE "UTF8;\xC4\x8Conrad;Clara;01.05.1988\n";
   # \xc6
   print FILE "UTF8;\xC6\x87onrad;Clara;01.06.1988\n";
   # D
   print FILE "UTF8;\xC3\x90ietrich;Dieter;01.01.1988\n";
   # \xc4
   print FILE "UTF8;\xC4\x8Eietrich;Dieter;01.02.1988\n";
   print FILE "UTF8;\xC4\x90ietrich;Dieter;01.03.1988\n";
   # \xc6
   print FILE "UTF8;\xC6\x89ietrich;Dieter;01.04.1988\n";
   print FILE "UTF8;\xC6\x8Aietrich;Dieter;01.05.1988\n";
   print FILE "UTF8;\xC6\x8Bietrich;Dieter;01.06.1988\n";
   # E
   print FILE "UTF8;\xC3\x88ngel;Ernst;01.01.1988\n";
   print FILE "UTF8;\xC3\x89ngel;Ernst;01.02.1988\n";
   print FILE "UTF8;\xC3\x8Angel;Ernst;01.03.1988\n";
   print FILE "UTF8;\xC3\x8Bngel;Ernst;01.04.1988\n";
   # \xc4
   print FILE "UTF8;\xC4\x92ngel;Ernst;01.05.1988\n";
   print FILE "UTF8;\xC4\x94ngel;Ernst;01.06.1988\n";
   print FILE "UTF8;\xC4\x96ngel;Ernst;01.07.1988\n";
   print FILE "UTF8;\xC4\x98ngel;Ernst;01.08.1988\n";
   print FILE "UTF8;\xC4\x9Angel;Ernst;01.09.1988\n";
   # \xc6
   print FILE "UTF8;\xC6\x8Engel;Ernst;01.10.1988\n";
   print FILE "UTF8;\xC6\x8Fngel;Ernst;01.11.1988\n";
   # G
   # \xc4
   print FILE "UTF8;\xC4\x9Craf;Gregor;01.01.1988\n";
   print FILE "UTF8;\xC4\x9Eraf;Gregor;01.02.1988\n";
   print FILE "UTF8;\xC4\xA0raf;Gregor;01.03.1988\n";
   print FILE "UTF8;\xC4\xA2raf;Gregor;01.04.1988\n";
   # H
   # \xc4
   print FILE "UTF8;\xC4\xA4ansen;Hans;01.01.1988\n";
   print FILE "UTF8;\xC4\xA6ansen;Hans;01.02.1988\n";
   # I
   print FILE "UTF8;\xC3\x8Cnes;Inge;01.01.1988\n";
   print FILE "UTF8;\xC3\x8Dnes;Inge;01.02.1988\n";
   print FILE "UTF8;\xC3\x8Enes;Inge;01.03.1988\n";
   print FILE "UTF8;\xC3\x8Fnes;Inge;01.04.1988\n";
   # \xc4
   print FILE "UTF8;\xC4\xA8nes;Inge;01.05.1988\n";
   print FILE "UTF8;\xC4\xAAnes;Inge;01.06.1988\n";
   print FILE "UTF8;\xC4\xACnes;Inge;01.07.1988\n";
   print FILE "UTF8;\xC4\xAEnes;Inge;01.08.1988\n";
   print FILE "UTF8;\xC4\xB0nes;Inge;01.09.1988\n";
   # IJ
   # \xc4
   print FILE "UTF8;\xC4\xB2sselmeer;Ijsselmeer;01.01.1988\n";
   # J
   # \xc4
   print FILE "UTF8;\xC4\xB4ansen;Jamie;01.01.1988\n";
   # K
   # \xc4
   print FILE "UTF8;\xC4\xB6lein;Klara;01.01.1988\n";
   # L
   # \xc4
   print FILE "UTF8;\xC4\xB9ange;Lara;01.01.1988\n";
   print FILE "UTF8;\xC4\xBBange;Lara;01.02.1988\n";
   print FILE "UTF8;\xC4\xBDange;Lara;01.03.1988\n";
   print FILE "UTF8;\xC4\xBFange;Lara;01.04.1988\n";
   # \xc5
   print FILE "UTF8;\xC5\x81ange;Lara;01.05.1988\n";
   # N
   print FILE "UTF8;\xC3\x91eumann;Norbert;01.01.1988\n";
   # \xc5
   print FILE "UTF8;\xC5\x83eumann;Norbert;01.02.1988\n";
   print FILE "UTF8;\xC5\x85eumann;Norbert;01.03.1988\n";
   print FILE "UTF8;\xC5\x87eumann;Norbert;01.04.1988\n";
   print FILE "UTF8;\xC5\x8Aeumann;Norbert;01.05.1988\n";
   # O
   print FILE "UTF8;\xC3\x92tto;Oliver;01.01.1988\n";
   print FILE "UTF8;\xC3\x93tto;Oliver;01.02.1988\n";
   print FILE "UTF8;\xC3\x94tto;Oliver;01.03.1988\n";
   print FILE "UTF8;\xC3\x95tto;Oliver;01.04.1988\n";
   print FILE "UTF8;\xC3\x98tto;Oliver;01.05.1988\n";
   # \xc5
   print FILE "UTF8;\xC5\x8Ctto;Oliver;01.06.1988\n";
   print FILE "UTF8;\xC5\x8Etto;Oliver;01.07.1988\n";
   print FILE "UTF8;\xC5\x90tto;Oliver;01.08.1988\n";
   # \xc6
   print FILE "UTF8;\xC6\x86tto;Oliver;01.09.1988\n";
   # Oe
   print FILE "UTF8;\xC3\x96ler;Oeler;01.01.1988\n";
   # \xc5
   print FILE "UTF8;\xC5\x92ler;Oeler;01.02.1988\n";
   # R
   # \xc5
   print FILE "UTF8;\xC5\x94ichter;Richard;01.01.1988\n";
   print FILE "UTF8;\xC5\x96ichter;Richard;01.02.1988\n";
   print FILE "UTF8;\xC5\x98ichter;Richard;01.03.1988\n";
   # S
   # \xc5
   print FILE "UTF8;\xC5\x9Aommer;Sonja;01.01.1988\n";
   print FILE "UTF8;\xC5\x9Commer;Sonja;01.02.1988\n";
   print FILE "UTF8;\xC5\x9Eommer;Sonja;01.03.1988\n";
   print FILE "UTF8;\xC5\xA0ommer;Sonja;01.04.1988\n";
   # T
   # \xc5
   print FILE "UTF8;\xC5\xA2imm;Tina;01.01.1988\n";
   print FILE "UTF8;\xC5\xA4imm;Tina;01.02.1988\n";
   print FILE "UTF8;\xC5\xA6imm;Tina;01.03.1988\n";
   # U
   print FILE "UTF8;\xC3\x99nger;Udo;01.01.1988\n";
   print FILE "UTF8;\xC3\x9Anger;Udo;01.02.1988\n";
   print FILE "UTF8;\xC3\x9Bnger;Udo;01.03.1988\n";
   # \xc5
   print FILE "UTF8;\xC5\xA8nger;Udo;01.04.1988\n";
   print FILE "UTF8;\xC5\xAAnger;Udo;01.05.1988\n";
   print FILE "UTF8;\xC5\xACnger;Udo;01.06.1988\n";
   print FILE "UTF8;\xC5\xAEnger;Udo;01.07.1988\n";
   print FILE "UTF8;\xC5\xB0nger;Udo;01.08.1988\n";
   print FILE "UTF8;\xC5\xB2nger;Udo;01.09.1988\n";
   # Ue
   print FILE "UTF8;\xC3\x9Cber;Ueli;01.01.1988\n";
   # W
   print FILE "UTF8;\xC5\xB4eber;Werner;01.01.1988\n";
   # X
   print FILE "UTF8;\xC3\x97aver;Xenia;01.01.1988\n";
   # Y
   print FILE "UTF8;\xC3\x9Dilmaz;Yilgrim;01.01.1988\n";
   # \xc5
   print FILE "UTF8;\xC5\xB6ilmaz;Yilgrim;01.02.1988\n";
   print FILE "UTF8;\xC5\xB8ilmaz;Yilgrim;01.03.1988\n";
   # Z
   # \xc5
   print FILE "UTF8;\xC5\xB9iegler;Zita;01.01.1988\n";
   print FILE "UTF8;\xC5\xBBiegler;Zita;01.02.1988\n";
   print FILE "UTF8;\xC5\xBDiegler;Zita;01.03.1988\n";
   # Th \xDE (thorn)
   print FILE "UTF8;\xC3\x9Eiel;Thomas;01.01.1988\n";
   # ss
   print FILE "UTF8;A\xC3\x9Fmann;Assmus;02.01.1988\n";

   ###############################################
   print FILE "# UTF-8 SMALL LETTERS\n";

   # a
   print FILE "UTF8;W\xC3\xA0gner;Waltraud;02.01.1988\n";
   print FILE "UTF8;W\xC3\xA1gner;Waltraud;02.02.1988\n";
   print FILE "UTF8;W\xC3\xA2gner;Waltraud;02.03.1988\n";
   print FILE "UTF8;W\xC3\xA3gner;Waltraud;02.04.1988\n";
   print FILE "UTF8;W\xC3\xA4gner;Waltraud;02.05.1988\n";
   print FILE "UTF8;W\xC3\xA5gner;Waltraud;02.06.1988\n";
   # \xc4
   print FILE "UTF8;W\xC4\x81gner;Waltraud;02.07.1988\n";
   print FILE "UTF8;W\xC4\x83gner;Waltraud;02.08.1988\n";
   print FILE "UTF8;W\xC4\x85gner;Waltraud;02.09.1988\n";
   # ae
   print FILE "UTF8;B\xC3\xA6r;Baerbel;02.01.1988\n";
   # b
   # \xc6
   print FILE "UTF8;A\xC6\x83el;Abigail;01.01.1988\n";
   # c
   print FILE "UTF8;S\xC3\xA7hmidt;Schota;02.01.1988\n";
   # \xc4
   print FILE "UTF8;S\xC4\x87hmidt;Schota;02.02.1988\n";
   print FILE "UTF8;S\xC4\x89hmidt;Schota;02.03.1988\n";
   print FILE "UTF8;S\xC4\x8bhmidt;Schota;02.04.1988\n";
   print FILE "UTF8;S\xC4\x8dhmidt;Schota;02.05.1988\n";
   # \xc6
   print FILE "UTF8;S\xC6\x88hmidt;Schota;02.06.1988\n";
   # d
   print FILE "UTF8;A\xC3\xB0ler;Adele;02.01.1988\n";
   # \xc4
   print FILE "UTF8;A\xC4\x8Fler;Adele;02.02.1988\n";
   print FILE "UTF8;A\xC4\x91ler;Adele;02.03.1988\n";
   # \xc6
   print FILE "UTF8;A\xC6\x8Cler;Adele;02.04.1988\n";
   print FILE "UTF8;A\xC6\x8Dler;Adele;02.05.1988\n";
   # e
   print FILE "UTF8;M\xC3\xA8yer;Melanie;02.01.1988\n";
   print FILE "UTF8;M\xC3\xA9yer;Melanie;02.02.1988\n";
   print FILE "UTF8;M\xC3\xAAyer;Melanie;02.03.1988\n";
   print FILE "UTF8;M\xC3\xAByer;Melanie;02.04.1988\n";
   # \xc4
   print FILE "UTF8;M\xC4\x93yer;Melanie;02.05.1988\n";
   print FILE "UTF8;M\xC4\x95yer;Melanie;02.06.1988\n";
   print FILE "UTF8;M\xC4\x97yer;Melanie;02.07.1988\n";
   print FILE "UTF8;M\xC4\x99yer;Melanie;02.08.1988\n";
   print FILE "UTF8;M\xC4\x9Byer;Melanie;02.09.1988\n";
   # g
   # \xc4
   print FILE "UTF8;E\xC4\x9Der;Egon;02.01.1988\n";
   print FILE "UTF8;E\xC4\x9Fer;Egon;02.02.1988\n";
   print FILE "UTF8;E\xC4\xA1er;Egon;02.03.1988\n";
   print FILE "UTF8;E\xC4\xA3er;Egon;02.04.1988\n";
   # h
   # \xc4
   print FILE "UTF8;E\xC4\xA5lert;Ehud;02.01.1988\n";
   print FILE "UTF8;E\xC4\xA7lert;Ehud;02.02.1988\n";
   # i
   print FILE "UTF8;F\xC3\xACscher;Finn;02.01.1988\n";
   print FILE "UTF8;F\xC3\xADscher;Finn;02.02.1988\n";
   print FILE "UTF8;F\xC3\xAEscher;Finn;02.03.1988\n";
   print FILE "UTF8;F\xC3\xAFscher;Finn;02.04.1988\n";
   # \xc4
   print FILE "UTF8;F\xC4\xA9scher;Finn;02.05.1988\n";
   print FILE "UTF8;F\xC4\xABscher;Finn;02.06.1988\n";
   print FILE "UTF8;F\xC4\xADscher;Finn;02.07.1988\n";
   print FILE "UTF8;F\xC4\xAFscher;Finn;02.08.1988\n";
   print FILE "UTF8;F\xC4\xB1scher;Finn;02.09.1988\n";
   # ij
   # \xc4
   print FILE "UTF8;W\xC4\xB3chen;Wijchen;01.01.1988\n";
   # j
   # \xc4
   print FILE "UTF8;L\xC4\xB5ubow;Ljubow;01.01.1988\n";
   # k
   # \xc4
   print FILE "UTF8;I\xC4\xB7ert;Iker;01.01.1988\n";
   print FILE "UTF8;I\xC4\xB8ert;Iker;01.02.1988\n";
   # l
   # \xc4
   print FILE "UTF8;A\xC4\xBAtmann;Alfons;01.01.1988\n";
   print FILE "UTF8;A\xC4\xBCtmann;Alfons;01.02.1988\n";
   print FILE "UTF8;A\xC4\xBEtmann;Alfons;01.03.1988\n";
   # \xc5
   print FILE "UTF8;A\xC5\x80tmann;Alfons;01.04.1988\n";
   print FILE "UTF8;A\xC5\x82tmann;Alfons;01.05.1988\n";
   # n
   print FILE "UTF8;E\xC3\xB1gel;Engin;02.01.1988\n";
   # \xc5
   print FILE "UTF8;E\xC5\x84gel;Engin;02.02.1988\n";
   print FILE "UTF8;E\xC5\x86gel;Engin;02.03.1988\n";
   print FILE "UTF8;E\xC5\x88gel;Engin;02.04.1988\n";
   print FILE "UTF8;E\xC5\x89gel;Engin;02.05.1988\n";
   print FILE "UTF8;E\xC5\x8bgel;Engin;02.06.1988\n";
   # o
   print FILE "UTF8;K\xC3\xB2ch;Konrad;02.01.1988\n";
   print FILE "UTF8;K\xC3\xB3ch;Konrad;02.02.1988\n";
   print FILE "UTF8;K\xC3\xB4ch;Konrad;02.03.1988\n";
   print FILE "UTF8;K\xC3\xB5ch;Konrad;02.04.1988\n";
   print FILE "UTF8;K\xC3\xB8ch;Konrad;02.05.1988\n";
   # \xc5
   print FILE "UTF8;K\xC5\x8dch;Konrad;02.06.1988\n";
   print FILE "UTF8;K\xC5\x8fch;Konrad;02.07.1988\n";
   print FILE "UTF8;K\xC5\x91ch;Konrad;02.08.1988\n";
   # oe ligatur,umlaut
   print FILE "UTF8;B\xC5\x93rek;Boerek;02.01.1988\n";
   # \xc5
   print FILE "UTF8;B\xC3\xB6rek;Boerek;02.02.1988\n";
   # r
   # \xc5
   print FILE "UTF8;G\xC5\x95einer;Grischa;02.01.1988\n";
   print FILE "UTF8;G\xC5\x97einer;Grischa;02.02.1988\n";
   print FILE "UTF8;G\xC5\x99einer;Grischa;02.03.1988\n";
   # s
   # \xc5
   print FILE "UTF8;A\xC5\x9Bmussen;Astrid;02.01.1988\n";
   print FILE "UTF8;A\xC5\x9Dmussen;Astrid;02.02.1988\n";
   print FILE "UTF8;A\xC5\x9Fmussen;Astrid;02.03.1988\n";
   print FILE "UTF8;A\xC5\xA1mussen;Astrid;02.04.1988\n";
   print FILE "UTF8;A\xC5\xBFmussen;Astrid;02.05.1988\n";
   # t
   # \xc5
   print FILE "UTF8;A\xC5\xA3es;Atarah;02.01.1988\n";
   print FILE "UTF8;A\xC5\xA5es;Atarah;02.02.1988\n";
   print FILE "UTF8;A\xC5\xA7es;Atarah;02.03.1988\n";
   # C3B7 ist kein Buchstabe :-
   # u
   print FILE "UTF8;J\xC3\xB9ng;Julia;02.01.1988\n";
   print FILE "UTF8;J\xC3\xBAng;Julia;02.02.1988\n";
   print FILE "UTF8;J\xC3\xBBng;Julia;02.03.1988\n";
   print FILE "UTF8;J\xC3\xBCng;Julia;02.04.1988\n";
   # \xc5
   print FILE "UTF8;J\xC5\xA9ng;Julia;02.05.1988\n";
   print FILE "UTF8;J\xC5\xABng;Julia;02.06.1988\n";
   print FILE "UTF8;J\xC5\xADng;Julia;02.07.1988\n";
   print FILE "UTF8;J\xC5\xAFng;Julia;02.08.1988\n";
   print FILE "UTF8;J\xC5\xB1ng;Julia;02.09.1988\n";
   print FILE "UTF8;J\xC5\xB3ng;Julia;02.10.1988\n";
   # w
   print FILE "UTF8;S\xC5\xB5oboda;Swetlana;02.01.1988\n";
   # y
   print FILE "UTF8;Ho\xC3\xBDer;Hoyer;03.01.1988\n";
   print FILE "UTF8;Ho\xC3\xBFer;Hoyer;03.02.1988\n";
   # \xc5
   print FILE "UTF8;Ho\xC5\xB7er;Hoyer;03.03.1988\n";
   # z
   # \xc5
   print FILE "UTF8;A\xC5\xBAimi;Azadeh;02.01.1988\n";
   print FILE "UTF8;A\xC5\xBCimi;Azadeh;02.02.1988\n";
   print FILE "UTF8;A\xC5\xBEimi;Azadeh;02.03.1988\n";
   # th
   print FILE "UTF8;Ro\xC3\xBE;Roth;03.01.1988\n";

}


close (FILE);

print "\n* File $output_file created.\n\n";

