Torwächter: if {dann sortieren nach x} else {sortieren nach dem y}

Beitrag lesen

Hallo zusammen,

ich sortiere so:
for(sort {$upsortierennach{$b} <=> $upsortierennach{$a}} keys %upsortierennach)

und das funzt auch super bei Zahlen, doch nun mein Problem:

ich möchte bei Event A nach 1ner Zahl sortieren (if)
und bei Event B nach 2 Zahlen (elsif)
und bei Event C nach Buchstaben (else)

aber ich möchte den ganzen Block (for) nicht 3 (oder mehr)mal schreiben müssen.

aber so kann ich es ja nicht machen :

if(A)
{
  for(sort...)
  {
}
elsif(B)
{
  for(sort...)
  {
}
else
{
  for(sort...)
  {
}

BLOCK #Anweisungen aller Art
  BLOCK #Anweisungen aller Art
  BLOCK #Anweisungen aller Art
  }

Und wie kann ich überhaupt nach Buchstaben (Namen von AAl bis Zorro)
sortieren ?

Ich bitte um eure Hilfe. Vielen Dank

Greetings
Torwächter