[vienna.pm] Hash sortieren

Peter Seitz seitz at bzs.tu-graz.ac.at
Wed Jul 12 12:28:32 CDT 2000


* * * vienna-pm-list * * *


Hallo Leute,

ich habe ein kleines Problem bei einem Hash, den ich (fuer die 
Ausgabe) nach dem Wert sortieren moechte (Also nicht nach dem key)

Sortieren nach dem key habe ich wie folgt realisiert:

@string1 = ();
push (@string1, (keys %strings_db_short));
@sorted = ();
@sorted = sort (@string1);
print "\tsorting finished\n";


Ich bin mir aber unsicher, wie ich nun nach dem Wert sortieren kann. 
Die Werte kann ich ja mittels values bekommen, doch beim Ausdruck 
hatte ich dann Schwierigkeiten. Es kommt naemlich vor, dass die Werte 
mehrfach vorkommen. Mein Code hat hier auch die Werte mehrfach 
gedruckt...

@string1 = ();
push (@string1, (values %strings_db_ids));
@sorted = ();
@sorted = sort (@string1);
print "\tsorting finished\n";

open(STRINGS_IDS, ">$directory/$strings_ids_file")||
  die "Can't Open Strings File $directory/$strings_ids_file: $!\n";
$previous = '';
foreach (@sorted) {             # write ids.txt
#  print STRINGS_IDS "$strings_db_ids{$_}\, $_\n";
#  delete $strings_db_ids{$_};
  while (($first,$last) = each(%strings_db_ids)) {
    if ($_ eq $last) {
      print STRINGS_IDS "$first\, $last\n";
      delete $strings_db_ids{$last};
      next;
    } # if
  } # while
}


Wer kann mir einen Hinweis darauf geben, wie man das am 
geschicktesten macht?

Danke fuer Euere Hinweise.


With best compliments

           Peter Seitz
--

  Graz University of Technology, Austria - Fac. f. Civil Engineering
  mailto:seitz at bzs.tu-graz.ac.at - http://wwwbzs.tu-graz.ac.at/~seitz/

            Member of the Pegasus Mail Support Group
          Coordinator of the Pmail Translation Process

For information about translating Pegasus Mail, contact:
Han van den Bogaerde (jaabogae at caiw.nl) or
Peter Seitz (seitz at bzs.tu-graz.ac.at)

###
You are subscribed to vienna-pm-list as "Peter Seitz" <seitz at bzs.tu-graz.ac.at>
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list