use strict; use warnings; use Data::Dumper; my @vfile = (   "(00:10) =(\n",   "(00:10) welche denn ? seufzt :[\n",   "(00:12) mhmh\n",   "(00:12) jetzt passieren mhmh kommische dinge\n",   "(00:13) welche denn?\n", ); my %stats; while (defined (my $line = shift @vfile)) {   my ($time, $user, @words) = split /\s+/, $line;   foreach my $word (@words) {      next if $word =~ /[;:=][\W]+/ || length($word) < 3;      $word =~ s/(\w+)\W+$/$1/; # wegen "denn" und "denn?"      $stats{$word}++;   } } print Dumper(\%stats);