#!/usr/bin/perl use v5.12; use warnings; package Trk_dict; sub new { (my $classname, my $file) = @_; my @inhalt; my %dict; open( my $FH, '<:unix:encoding(UTF-8)', $file) or die "Datei konnte nicht geöffnet werden\n"; while (<$FH>){ push (@inhalt, $_); } close $FH; chomp @inhalt; %dict = @inhalt; # @inhalt = (); # Sollte automatisch beim Verlasen von 'new' gelöscht werden ? my $self = \%dict; return bless($self, $classname); } sub translate { (my $self, $_) = @_; while ((my $key, my $value) = each %$self){ s/\b$key\b/$value/i; } s/\b[a-z]\b//gi; #verbleibende einzelne Zeichen löschen s/ +/ /g; #doppelte und mehr Leerzeichen entfernen s/\A //; #Leerzeichen am Anfang entfernen s/ \z//; #Leerzeichen am Ende entfernen return $_; } 1;