![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |
scalar(%hash) = $anzahlDerElementeDieDerHashAufnehmenSoll;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# produkt_name => produkt_id
my %hash = (
'produkt1' => 1,
'produkt2' => 2,
'produkt3' => 3,
...,
'produkt50000' => 50000
);
my @daten = ('produkt3','produkt4','produkt3','produkt50000',...);
# ids für die elemente im datenarray holen
my @data_ids;
for my $i (0..$#daten) {
push(@data_ids,$hash{$daten[$i]});
}
# ausgabe in datenbank von @data_ids
...
1
2
3
4
5
6
7
8
my %hash;
scalar(%hash) = 50_000;
%hash = ('produkt1' => 1, .... 'produkt50000' => 50000);
my @daten = (...);
my @data_ids; $#data_ids = $#daten;
foreach (@daten) {
push (@data_ids, $hash{$_});
} # foreach
@data_ids = map {$hash{$_}} @daten;
scalar(%hash) = 50000;
keys %content_hash = 50000;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# produkt_name => produkt_id
my %hash;
keys %content_hash = 50000;
%hash = (
'produkt1' => 1,
'produkt2' => 2,
'produkt3' => 3,
'produkt50000' => 50000
);
my @daten = ('produkt3','produkt2','produkt3','produkt50000');
# ids für die elemente im datenarray holen
my @data_ids; $#data_ids = $#daten;
foreach (@daten) {
if(!defined($hash{$_})) { # wenn neues produkt, z.b. produkt50001, neues wertepaar im hash
my @key = sort { $hash{$a} <=> $hash{$b} } keys %hash; # ordnen
$hash{$_} = $hash{$key[-1]} + 1; # maximum + 1
}
push (@data_ids, $hash{$_});
} # foreach
![]() |
|< 1 2 >| | ![]() |
19 Einträge, 2 Seiten |