Thread Array sortieren das Strings und Interger enthaelt (9 answers)
Opened by roli at 2006-04-05 18:20

Strat
 2006-04-05 21:09
#64384 #64384
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich glaube, sowas wuerde ich sogar recht dirty coden:
Code: (dl )
1
2
3
4
5
6
@argA = sort {
no warnings;
$a <=> $b
or
lc($a) cmp lc($b)
} @argA;


@esskar: das special-compare wuerde ich anders aufrufen:
Code: (dl )
1
2
3
4
5
6
7
sub special_compare {
return $a <=> $b
if looks_like_number($a) and &looks_like_number($b);

return lc $a cmp lc $b;
}
@argA = sort special_compare @argA;

uebrigens:
Code: (dl )
return ($irgendwas)

kann unter umstaenden gefaehrlich werden (nicht in diesem fall), wenn die funktion im listenkontext aufgerufen wird; da wird naemlich eine liste mit einem element zurueckgegeben, was vielleicht bei wahrheitswerten mal true werden koennte
Code: (dl )
if (my @items = &DoWhatEver()) {

deshalb sowas immer ohne klammern returnen:
Code: (dl )
return $irgendwas;
\n\n

<!--EDIT|Strat|1144257544-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Array sortieren das Strings und Interger enthaelt