Hallo,
eine Frage an die Perl-kundigen ist es möglich in ein indexed Array ein eindimensionales Array mit zwei numerischen Elementen reinzustellen ? Ich hab mal das probiert aber so funktionierts nicht:
Der erste Teil funktioniert noch:
#! /usr/bin/perl -w
my %stations1 = ( "Stat_A" => 1234567,
"Stat_B" => 7654321 );
if (defined($stations1{"Stat_A"})) {
printf STDOUT (" %d\n", $stations1{"Stat_A"});
} else {
printf STDOUT ("index Stat_A not defined\n");
}
if (defined($stations1{"Stat_B"})) {
printf STDOUT (" %d\n", $stations1{"Stat_B"});
} else {
printf STDOUT ("index Stat_B not defined\n");
}
if (defined($stations1{"Stat_C"})) {
printf STDOUT (" %d\n", $stations1{"Stat_C"});
} else {
printf STDOUT ("index Stat_C not defined\n");
}
printf STDOUT ("Part 1 done OK\n\n");
Alles anzeigen
der zweite Teil aber nicht:
...
my %stations = ( "Stat_A" => (1234567, 15),
"Stat_B" => (7654321, 5) );
if (defined($stations{"Stat_A"})) {
printf STDOUT (" %d %d\n", $stations{"Stat_A"}[1], $stations{"Stat_A"}[2]);
} else {
printf STDOUT ("index Stat_A not defined\n");
}
if (defined($stations{"Stat_B"})) {
printf STDOUT (" %d %d\n", $stations{"Stat_B"}[1], $stations{"Stat_B"}[2]);
} else {
printf STDOUT ("index Stat_B not defined\n");
}
if (defined($stations{"Stat_C"})) {
printf STDOUT (" %d %d\n", $stations{"Stat_C"}{1}, $stations{"Stat_C"}{2});
} else {
printf STDOUT ("index Stat_C not defined\n");
}
Alles anzeigen
da kommt nämlich folgendes raus:
1234567
7654321
index Stat_C not defined
Part 1 done OK
Use of uninitialized value in printf at ./test2.pl line 35.
Use of uninitialized value in printf at ./test2.pl line 35.
0 0
index Stat_B not defined
index Stat_C not defined