@array = ($array[3],$array[2],$array[0],$array[5],$array[1],$array[4]);
@sort_array = sort(@array);
@sort_array = ($array[0],$array[1],$array[2],$array[3],$array[4],$array[5]);
pop(@Array);
2015-11-10T14:15:14 ITobiIHi, ich hätte da mal 2 Fragen:
bekomm ich mein Array dann mit:
Code: (dl )@sort_array = sort(@array);
wieder in folgende Form?
1 2 3 4 5 6 7 8
use 5.14.0; use warnings; my @array = qw(1 4 3 6 2 5); say "Original: @array"; @array = ($array[3],$array[2],$array[0],$array[5],$array[1],$array[4]); say "Nach Vertauschung: @array"; @array = sort @array; say "Nach Sortierung: @array";
2015-11-10T14:15:14 ITobiI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#Empfang der Daten
$socket->recv($message,1025) or warn $!;
#Extrahiere Datenpaket aus gesendeten Daten
$data = '';
$data = substr($message,0,1024);
#Extrahiere Index aus gesendeten Daten
$a = '';
$a = substr($message,1024,1);
#Lege empfangene Daten in Array-Element ab
$daten[$a] = '';
$daten[$a] = $data;
2015-11-10T17:29:33 Linuxer$message ist hier doch kein Socket mehr?
Das sollte doch der Puffer-Skalar sein, in den die Daten mittels read() oder recv() reinkopiert wurden.
Da dürfte mit seek() und read() nicht mehr viel zu holen sein.
Guest janusIn einem Socket (Handle) bewegst Du Dich besser mit seek() und read().
[...]
2015-11-10T16:05:19 ITobiIich sende eine bestimmte Anzahl von Datenpaketen vom Client zum Server und diese Datenpakete können in einer anderen Reihenfolge ankommen. Ich habe die Datenpakete bereits mit einem Index versehen um Sie identifizieren zu können jetzt hab ich nur das Problem Sie wieder in die richtige Reihenfolge zu kriegen und ich habe jeweils die Inhalte der einzelnen Datenpakete in einem Array-Element abgelegt und den Index für das jeweilige Array-Element verwendet.
1 2 3 4 5 6 7 8
# HASH my $msg = {index => $a, data => $data}; # datenstruktur anlegen push @array, $msg; # in liste speichern my $index = $msg->{index}; my $data = $msg->{data}; # Liste von Messages nach Index sortieren my @sorted = sort {$a->{index} <=> $b->{index}} @array;
1 2 3 4 5 6 7 8
# ARRAY - 0: index, 1: data my $msg = [$a, $data]; # datenstruktur anlegen push @array, $msg; # in liste speichern my $index = $msg->[0]; my $data = $msg->[1]; # Liste von Messages nach Index sortieren my @sorted = sort {$a->[0] <=> $b->[0]} @array;