use strict; use warnings; use Data::Dumper qw(Dumper); sub nurKleinbuchstaben{ my $string = shift(@_); $string = lc($string); $string =~ s/\W+|\d|_/ /g; $string =~ s/^\s+|\s+$//; } my $datei = 'test.txt'; open(my $inputFH, '<', $datei) or die "Fehler: $!"; my @zeilen = $inputFH; foreach (@zeilen) { nurKleinbuchstaben($_); } for my $zeile (@zeilen) { my %wordCounter; for my $word (split(/ /, $zeile)) { ++$wordCounter{$word}; } # $zeile mit Referenz auf den Hash ersetzen } close($inputFH);