#!usr/bin/perl

###############      PT1_4    #####################################
#                                                                 #
# Project Acronym:     PaGAL                                      #
# Document ID:                                                    #
# Date:                07/07/01                                   #
# Author:              Meike Griese                               #
# WP/Task                                                         #
# Abstract:            function for sorting the mistakelist       #
# Distribution:        public                                     #
###################################################################
# Version      Date     Author  Notes                             #
# 02           23/10/01 J       pattern matching debugged         #
###################################################################

###################################################################
# Programm kann zur Sortierung der Fehlerliste nach Abkuerzungsart# 
# aufgerufen werden. Es fordert den Benutzer auf, eine Art        #
# anzugeben und erstellt entsprechende Listen.                    #
###################################################################

$pagalversion = PaGAL;

sub print_header {

  my ($eingabe, $file) = @_;

 
  print S ("----------------------------------------------------------------\n\n
  
                       sortierte $file $eingabe\n\n ", scalar(localtime),
	   "                                        $pagalversion
----------------------------------------------------------------\n\n"); 
}

 
  print ("Welche Datei: Mistakelist (M) oder List (L)?\n");

  $file = <STDIN>;

  chomp $file;

  if ($file eq "M") {$file = "mistakelist";}

  elsif($file eq "L") {$file = "list";}

  else{die ("falsche Antwort");}
  
print ("Wessen Sortierung wuenschen Sie: lemma/abverz/adjektiv/notpossible\n");

$eingabe = <STDIN>;

chomp $eingabe;

open (F, "<".$file.$pagalversion.".txt")  ||  die  ("Cannot open $file\n");
open (S, ">sortlist".$eingabe.$pagalversion.".txt")  ||  die  ("Cannot open sortlist\n");

$/ = "Langform";      # "Langform" kennzeichnet neuen Abschnitt

while ($line = <F>) {

  if ($line =~ /Art $eingabe/){   # wenn Abkuerzungsart der Eingabe entspricht
     
    if ($line =~ / (.*)\n\tKurzform (.*)\n/){
      
	   
      $sorab{$1} = $2;  #erstellt einen Hash

    }

  }

}


&print_header ($eingabe,$file, $pagalversion );

@langformen = sort (keys (%sorab));

for ($i = 0; $i<@langformen; $i++)

  {

    print S ("$langformen[$i]\t\t\t $sorab{$langformen[$i]}\n");

      #Ausgabe des Hash in eine Liste

}

print S ("\n------------------\n");

