use Mosche;
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.
for (sort deine_sort_sub keys %upsortierennach) {
###
}
sub deine_sort_sub {
if ($A) {
return $a <=> $b;
} elseif ($B) {
return $b <=> $a;
} else {
return $a cmp $b;
}
}
Und wie kann ich überhaupt nach Buchstaben (Namen von AAl bis Zorro)
sortieren ?
Standardmäßig (d.h., wenn du keinen Sortiercode vorgibst), sortiert Perl nach Zeichen (Buchstaben). Du kannst das aber explizit angeben mitdem 'cmp' Operator, der genauso zu verwenden ist wie der '<=>'-Operator, aber eben für Zeichen.
use Tschoe qw(Matti);