Leser: 1
![]() |
![]() |
7 Einträge, 1 Seite |
1
2
3
4
5
6
for my $line (@array) {
my ($key, $value1, $value2);
$value2 = undef;
($key, $value1, $value2) = (split(/\s+/, $line))[0,4,7];
#push @{$hash{$key}}, [$value1, $value2];
}
1
2
3
4
5
6
7
8
9
10
11
for my $line (@array) {
# alle 3 Variablen sind nun undef
my ($key, $value1, $value2);
# Zuweisung; eigentlich sollten alle 3 nun Werte haben
# es sei denn, dass split kein Ergebnis liefern konnte
($key, $value1, $value2) = (split(/\s+/, $line))[0,4,7];
# wenn $value2 undef ist, dann fuege Leerstring ein
push @{$hash{$key}}, [$value1, $value2 || '' ];
}
$hash{$key} ||= [];
$value2 = '' unless defined($value2);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use strict;
use warnings;
use Data::Dumper;
my @array = (
'Schlüssel1 Wert1 Wert2',
'Schlüssel2 Wert3',
'Schlüssel3 Wert4 Wert5',
'Schlüssel4 Wert6 Wert7',
);
my %hash;
foreach my $line (@array) {
my ($key, @values) = split /\s+/, $line;
$hash{$key} = \@values;
}
print Dumper(\%hash);
my %hash = map { my ($k, @v) = split /\s+/; $k => \@v } @array;
![]() |
![]() |
7 Einträge, 1 Seite |