Hallo,
ich hab folgende Datenstruktur:
@Liste[$index][$datenfelder]
also zum Beispiel @Liste[1][0] ist ein Bezeichung,
@Liste[1][1] ist die dazu passende Position, @Liste[1][2] die Art usw.
(etwas erweitertes Beispiel):
Bezeichnung Pos. Art
apl1 5 Holz
jska 20 Stein
99aj 50 Stoff
kko3 20 Pelz
a.) Vielleicht könnte man das auch mit einem Hash von Listen machen?
b.) Wie kann man diese Liste greppen?
Ich möchte zum Beispiel eine neue Liste (auch zweidimensional), in der alle Einträge stehen, die @Liste[][1] = 20 oder so.
Es soll dann eine Neue Liste @Neue_Liste geben, in der ich dann alle Datenfelder aller Einträge hab, in der an Position [X][1] 20 steht (bei beliebigem X).
Ich hoffe das war verständlich.
my @Neue\_Liste = grep(/20/, @Liste[1]);
funktioniert natürlich nicht.
Vielen Dank für Eure Hilfe, ich finde wirklich nirgendwo eine gute Lösung dazu.
Mathias
Hallo,
ich hab folgende Datenstruktur:
@Liste[$index][$datenfelder]
also zum Beispiel @Liste[1][0] ist ein Bezeichung,
$Liste[1][0] bitte!
@Liste[1][1] ist die dazu passende Position,
@Liste[1][2] die Art usw.
(etwas erweitertes Beispiel):
Bezeichnung Pos. Art
apl1 5 Holz
jska 20 Stein
99aj 50 Stoff
kko3 20 Pelz
a.) Vielleicht könnte man das auch mit einem Hash von Listen
machen?
my %spalten = (
bezeichnung =\> [qw(apl1 jska 99aj kko3)],
pos =\> [5, 20, 50, 20],
art =\> [qw(Holz Stein Stoff Hold)],
);
Aber je nach dem, was du damit machen willst, wäre ein Array von Hashes günster:
my @items = (
{
bezeichnung =\> 'apl1',
pos =\> 5,
art =\> 'Holz',
},
{
...
}
);
b.) Wie kann man diese Liste greppen?
Ich möchte zum Beispiel eine neue Liste (auch
zweidimensional), in der alle Einträge stehen, die
@Liste[][1] = 20 oder so.
my @neu = grep { $\_-\>[1] == 2 } @Liste;
Oder wenn du eine Liste von Hashes hast:
my @neu = grep { $\_-\>{pos} == 2 } @Liste;
Vielen Dank für Eure Hilfe, ich finde wirklich nirgendwo eine
gute Lösung dazu.
Lies dir mal das hier durch:
http://perldoc.perl.org/perllol.html
http://perldoc.perl.org/perlreftut.html
http://perldoc.perl.org/perldsc.html
Grüße,
Moritz
Hi,
danke, super, das hilft schonmal. Die Dokumentation hab ich zum Teil gelesen aber ich bin ehrlich gesagt ein bisschen zu blöd dafür. Vor allem wird - wie ich finde - nicht so gut erklärt, wie man dann auf etwas aufwendigere Datenstrukturen zugreift…
Also, vielen Dank nochmal
Gruß
Mathias