Guten Tag,
ich habe ein kleines Problem in PERL.
Zu der Problemstellung selbst:
Ich habe zwei Array's namens
@descr und
@index.
jeweils die gleichen Indizes der beiden Felder gehören logisch zusammen.
Der Wert aus $descr[0] und $index[0] sollen also irgendwie "zusammengefasst" werden.
Dazu habe ich im Beispielcode unten versucht die Werte in ein neues @combined_array zu pushen:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
use Data::Dumper;
my @descr = ("Fa1/0","Gi0/1","Fa0/1","Fa0/2","Fa0/3","Fa0/7");
my @index = ("5","6","1","2","3","4");
my @combined_array;
for ($i=0; $i <= $#descr; $i++){
my $hashref = {$descr[$i] => $index[$i]};
push(@combined_array, $hashref);
}
print Dumper @combined_array;
|
Die Ausgabe auf der Kommandozeile sieht wie folgt aus:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$VAR1 = {
'Fa1/0' => '5'
};
$VAR2 = {
'Gi0/1' => '6'
};
$VAR3 = {
'Fa0/1' => '1'
};
$VAR4 = {
'Fa0/2' => '2'
};
$VAR5 = {
'Fa0/3' => '3'
};
$VAR6 = {
'Fa0/7' => '4'
};
|
Nun müsste das ganze aber noch nach dem "Schlüssel" sortiert sein. Das heißt Fa0/1 soll an erster Stelle stehen, Gi0/1 an letzter Stelle.
Kann mir irgendjmd. irgendeinen Gedankenschub geben wie ich dieses Problem am Besten lösen könnte?
Dank für alle Tipps!