Thread Array of Hashes aus Datei anlegen (53 answers)
Opened by Flips87 at 2020-02-04 11:19

Flips87
 2020-02-04 11:19
#191259 #191259
User since
2020-01-27
13 Artikel
BenutzerIn

user image
Hallo liebe Perl-Mitstreiter,

ich habe folgende Aufgabenstellung:
"Das Script soll die Möglichkeiten von Perl demonstrieren, indem hierarchische Datenstrukturen mittels Hashes und Arrays erzeugt werden. Es soll ein "Array of Hashes" erzeugt werden, welches für jede Zeile der Eingabedatei einen Eintrag enthält, der wiederum aus einem Hash besteht. In diesem Hash sind die einzelnen Worte der Zeile (durch Leerzeichen getrennte Zeichenketten, ohne Satz- und Sonderzeichen) und deren Häufigkeit abzulegen. Die so erstellte Datenstruktur soll am Ende per Data::Dumper ausgegeben werden."

Dazu der momentane Stand meines Skripts:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use strict;
use warnings;
use Data::Dumper qw(Dumper);

my ($datei, @zeilen, %hash);
$datei = 'test.txt';

sub reg_exe {
    $_ = lc($_);
    $_ =~ s/\W+|\d|_/ /g;
    $_ =~ s/^\s+|\s+$//; 
}

# Datei wird zeilenweise ausgelesen und in Array geschrieben 
# (pro Index eine Zeile)
open(DATEI, "<$datei") || die "$datei kann nicht geoeffnet werden: $!";
@zeilen = <DATEI>;

foreach(@zeilen) {
    reg_exe();
}
print Dumper \@zeilen;

# Datei wird zeilenweise ausgelesen --> in Wörter gesplittet,
# in Hash abgelegt und Anzahl der Häufigkeit ermittelt
open(DATEI, "<$datei") || die;
while (<DATEI>){
    foreach(split(/ /, $_)) {
        reg_exe();
        $hash{$_}++;
    }   
}
print Dumper \%hash;

# Ausgabe AoH 
# ...

close(DATEI);



Jetziger Stand:
Durch Data::Dumper weiß ich, dass in meinem erzeugten Array tatsächlich pro Index eine Zeile der Textdatei enthalten ist und dass mein Hash in der Lage ist, Wörter und Häufigkeit aufzuschlüsseln. Leider ist es mir nicht gelungen, beides zu kombinieren. Bisherige Recherchen haben mich auch nicht weitergebracht. Ich hoffe, ihr könnt mir helfen, da ich ein blutiger Anfänger bin.

Vielen lieben Dank im Voraus
Flips
Last edited: 2020-02-04 11:20:50 +0100 (CET)

View full thread Array of Hashes aus Datei anlegen