tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Matthias Reitinger
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1767
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    FlockY FlockY ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    52
    Mahlzeit Community!

    Vorab: Ich beschäftige mich jetzt seit ein paar Wochen mit perl und bin jetzt auf ein Problem gestoßen dass ich partu nicht lösen kann.

    Ich habe ein Textdatei mit folgendem Schema

    Code :
    1
    2
    3
    
    Name;Vorname/n
    Name;Vorname/n
    Name;Vorname/n

    Diese lasse ich ein ein Array einlesen. Klappt auch prima:

    Code :
    1
    2
    
    open(READ,$dateiname)
    my @benutzer=<READ>;

    Jetzt möchte ich Name und Vorname aufsplitten und in ein Zweidimensionales Array packen. Meinetwegen auch in 2 einzelne Arrays aufsplitten.

    Ich hab jetzt schon 2 Stunden mit meinem Freund Google verbracht und hab schon wieder unzählige graue Haare dadurch verursacht.

    Die Lösung ist bestimmt banal, deswegen wende ich mich an euch.

    Bin um jeden Vorschlag dankbar.

    Schöne Grüße aus Nürnberg!
    Flocky
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.802
    Blog-Einträge
    5
    Hallo Flocky,

    das könntest du direkt beim Einlesen erledigen:
    Code perl:
    1
    2
    3
    4
    5
    
    open(READ,$dateiname)
    my @benutzer;
    while (<READ>) {
      push(@benutzer, [split(';')]);
    }

    Grüße, Matthias
    FlockY bedankt sich. 
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    FlockY FlockY ist offline Mitglied Silber
    Registriert seit
    Feb 2004
    Beiträge
    52
    Werde ich ausprobieren.

    Vielen lieben Dank für die schnelle Antwort!

    [edit]
    Ist das jetzt schon ein zweidimensionales Array? Wenn ja wie kann ich es ausgeben?

    Code :
    1
    
    print "@benutzer[1][1]";

    Das funktioniert leider nicht. Und wenn ich nur print @benutzer; ausführen lasse kommen Hexwerte

    Gruß
    Flocky
    Geändert von FlockY (31.08.09 um 15:48 Uhr)
     

  4. #4
    renee renee ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Beiträge
    332
    print $benutzer[1]->[1];

    Du musst hier dereferenzieren. Zweidimensionale Arrays muss man in Perl mit Referenzen lösen. Hier findest Du die deutsche Version von perldoc perlreftut: http://wiki.perl-community.de/cgi-bi...doc/perlreftut

    Ein sehr nützliches Modul in Verbindung mit komplexen Datenstrukturen ist Data:umper:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    #!/usr/bin/perl
     
    # strict und warnings sollten in jedem Perl-Programm Pflicht sein
    use strict;
    use warnings;
     
    # Modul für Ausgabe von komplexen Datenstrukturen
    use Data::Dumper;
     
    # baue 2-dim-Array
    my @benutzer = (
      [ 'hans', 'maus'],
      [ 'hugo', 'katze'],
      [ 'hubert', 'hund'],
    );
     
    # gib das 2-dim-array aus
    print Dumper \@benutzer;

    Damit kann man sich gut anschauen, was in so einer Datenstruktur wirklich drinsteckt...
     

Ähnliche Themen

  1. c# zweidimensionales array
    Von xlon im Forum .NET Windows Forms
    Antworten: 12
    Letzter Beitrag: 26.02.10, 08:21
  2. Zweidimensionales Array von VB
    Von si031006 im Forum PHP
    Antworten: 10
    Letzter Beitrag: 22.12.06, 11:19
  3. Problem mit zweidimensionales Array
    Von angelikamorgan im Forum PHP
    Antworten: 3
    Letzter Beitrag: 18.04.06, 14:25
  4. Zweidimensionales Array
    Von crazyPower im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.07.05, 16:03
  5. [c++] zweidimensionales dynamisches array
    Von andreas_gierisch im Forum C/C++
    Antworten: 34
    Letzter Beitrag: 22.10.04, 14:22