hilfdirselbst.ch
Facebook Twitter gamper-media

"Geht nicht" ist keine gültige Fehlermeldung!

MoD
Beiträge: 16
19. Aug 2003, 01:56
Beitrag #1 von 2
Bewertung:
(3633 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Und noch eine Frage:


Hi Leutz

ich möchte ein dreidimensionales Array aufbauen:

das sieht wie folgt aus:

my %Eigenschaften = (user => "",text => "",Datum => "",uhr => "",ipuser => "",ipserver => "",port =>"");

my @Daten_0 = ([%Eigenschaften]);

Ich habe also einen Array der zwei Dimensionen besitzt, wobei die zweite Dimension wiederum einen hash darstellt.

Jetzt kommt mein eigentliches Problem:

wie kann ich @Daten beliebig schreiben ?

for (zählt von 0 bis letzter Eintrag im Gästebuch)
$Daten_$i[0] = split(/&/,$Datensaetze[$i]);

Das ganze soll bewirken, dass @Daten_ von 1-unendl. durchlaufen und dabei die zweite Dimension geschrieben wird (der Hash) -> (user, text usw. werden mit den Werten aus $Datensaetze (ist ein Array) gefüllt)

Bloß den oben stehenden Code nimmt mein Rechner nicht an.

Wie bewerkstelligt man so was ?

Danke für eure Antworten

MoD Top
 
X
MoD
Beiträge: 16
22. Aug 2003, 00:38
Beitrag #2 von 2
Beitrag ID: #48207
Bewertung:
(3633 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

Und noch eine Frage:


Hm ich haben Weisheit erlangt, durch stundenlanges meditieren über den Code.

Ich habe bloß zu sehr an der alten Matrix-Vorstellung gehangen.

Mußte erst begreifen, wie Perl die mehrdimensionalen Arrays verwaltet.

Mein Code sieht jetzt auch ordentlicher aus:

open(guest, "<guest/guest.data"); # die Guestbook Datei wird mit dem Handle guest verknüpft

@Datensaetze = <guest>; # die zeilen von guest werden in den array geladen -> zeilenweiser zugriff

$anzahldereintraege = $#Datensaetze; # mit $#Array läßt sich der letzte Eintrag ermitteln

for (my $i = 0; $i <= $#Datensaetze; $i++)
{
$Daten[$i][%Eigenschaften] = split(/&/,$Datensaetze[$i]);
print '<tr>';
print '<td style="background-color:#021ACC">';
print '</td>';
print '</tr>';


Hm bloß auslesen will er die Datei immer noch nicht -> Shit en Dreck
als Antwort auf: [#47763] Top