hotti: Sortieren von Hausnummern: 1,1a,1b,2... usw

Beitrag lesen

hi,

Hat jemnand eine Idee, wie man die "logische" Ordnung (1,2,3,...,20,21,...) ohne Änderung an der DB ausgeben?

bissl Perl:

  
my @ar = qw(1 11 12 3 33 24 2a 2b 33a 33b 1a 35b 100c 3c 11a 11b 12c 222);  
  
foreach my $h( sort { sh($a) <=> sh($b) } @ar){  
	print "$h\n";  
}  
  
sub sh{  
	my $h = shift;  
	$h =~ /^(\d+)(.*)$/;  
	return ($1 * 255) + (ord $2); # Wichtung setzen	  
}  

1
1a
2a
2b
3
3c
11
11a
11b
12
12c
24
33
33a
33b
35b
100c
222

Bedingung ist o.g. Syntax der Hausnummern. Ggf. alles auf LowerCase umschießen.

Zigarre,
Hotti

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.