z-shell
24.08.2008, 14:45
Hallo,
ich habe folgende anonyme Arrays:
$rucksack=["Wasser","Apfel","Ring","Fleisch"];
$waffen=["Stock","Schwert","Axt"];
$ruestung=["Hose","Hemd","Baumwollschuhe","Lederhose","Lederhemd","Lederhandschuhe","Kettenhemd"];
Und einen anonymen Hash:
$char={
Rucksack=>$rucksack->[0],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Auf die einzelnen Elemente greife ich mit
print "Ihr habt folgende Waffe:\n";
print "$char->{Waffe}\n";
usw. zu.
Jetzt brauche ich natürlich für "Rucksack" und "Rüstung" mehrere Inhalte.
Kann ich den Keys im anonymen Hash nicht mehrere Werte mitgeben? Sowas in der Art:
$char={
Rucksack=>$rucksack->[0],$rucksack->[1],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Dabei wird nur das erste Element angezeigt.
$char={
Rucksack=>$rucksack->[0]->$rucksack->[1],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Dabei bekomme ich die Meldung:
Can't locate object method "ARRAY(0x8c390b8)" via package "Wasser" (perhaps you forgot to load "Wasser"?) at ./rollenspiel.pl line 34.
$char={
Rucksack=>$rucksack->[0][1],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Dabei bekomme ich:
Use of uninitialized value in concatenation (.) or string at ./rollenspiel.pl line 133, <STDIN> line 2.
Gibts da eine Lösung für? Oder muss ich an die Sache ganz anders rangehen?
ich habe folgende anonyme Arrays:
$rucksack=["Wasser","Apfel","Ring","Fleisch"];
$waffen=["Stock","Schwert","Axt"];
$ruestung=["Hose","Hemd","Baumwollschuhe","Lederhose","Lederhemd","Lederhandschuhe","Kettenhemd"];
Und einen anonymen Hash:
$char={
Rucksack=>$rucksack->[0],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Auf die einzelnen Elemente greife ich mit
print "Ihr habt folgende Waffe:\n";
print "$char->{Waffe}\n";
usw. zu.
Jetzt brauche ich natürlich für "Rucksack" und "Rüstung" mehrere Inhalte.
Kann ich den Keys im anonymen Hash nicht mehrere Werte mitgeben? Sowas in der Art:
$char={
Rucksack=>$rucksack->[0],$rucksack->[1],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Dabei wird nur das erste Element angezeigt.
$char={
Rucksack=>$rucksack->[0]->$rucksack->[1],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Dabei bekomme ich die Meldung:
Can't locate object method "ARRAY(0x8c390b8)" via package "Wasser" (perhaps you forgot to load "Wasser"?) at ./rollenspiel.pl line 34.
$char={
Rucksack=>$rucksack->[0][1],
Waffe=>$waffen->[0],
Ruestung=>$ruestung->[0]
};
Dabei bekomme ich:
Use of uninitialized value in concatenation (.) or string at ./rollenspiel.pl line 133, <STDIN> line 2.
Gibts da eine Lösung für? Oder muss ich an die Sache ganz anders rangehen?