Thread Knotennamen aus einem Array nach Domain sortieren (9 answers)
Opened by toby at 2012-01-24 10:09

Taulmarill
 2012-01-24 10:48
#155627 #155627
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Was genau ist für dich die "Domain"? Ich vermute mal, dass du den Falschen Teilstring mit dem Regex aus dem String raus holst, bin mir aber nicht sicher, was genau du willst.

Wenn ich die Liste für mich sortieren würde, sähe das in etwa so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my @nodes = ( "abc.subdomain1.wasweissich.de","def.subdomain1.another.org","ghi.wasweissich.de","abc.subdomain2.wasweissich.de","def.subdomain1.wasweissich.de","ghi.subdomain2.another.org","xyz.another.org" );

my @sorted = map { $_->[0] }
sort { compare( $a->[1], $b->[1] ) }
map { [ $_, [ reverse( split /\./, $_ ) ] ] } @nodes;


print "$_\n" foreach @sorted;

sub compare {
my( $x, $y ) = @_;
for my $i ( 0 .. ( @$x > @$y ? @$x : @$y ) ) {
my $c = $x->[$i] cmp $y->[$i];
return $c unless $c == 0;
}
return 1 if @$x > @$y;
return -1 if @$y > @$x;
return 0;
}

Aber das ist wahrscheinlich nicht das Ergebnis, was du suchst, oder?
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B

View full thread Knotennamen aus einem Array nach Domain sortieren