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 39 40 41 42 43 44 45 46 47 48 49
my %index; my @array; my @files = <Dokumente/*>; foreach $file (@files) { open FILE_HANDLE, "$file" or die "$!\n"; foreach $line (<FILE_HANDLE>) { $line =~ s/ü/ue/g; $line =~ s/Ü/ue/g; $line =~ s/ä/ae/g; $line =~ s/Ä/ae/g; $line =~ s/ö/oe/g; $line =~ s/Ö/oe/g; $line =~ s/ß/ss/g; @array = split(/\W/, $line); foreach $wd (@array) { if($wd =~ /[A-Za-z]/) { $wd = lc($wd); $index{$wd}->{$file}++; } } } close FILE_HANDLE; } print "Nach welchem Wort soll gesucht werden?\n"; my $input =<STDIN>; chomp $input; $input =~ s/ü/ue/g; $input =~ s/Ü/ue/g; $input =~ s/ä/ae/g; $input =~ s/Ä/ae/g; $input =~ s/ö/oe/g; $input =~ s/Ö/oe/g; $input =~ s/ß/ss/g; $wd = lc $input; if (exists $index{$wd}) { print "Das Wort wurde gefunden!\n"; $files = $index{$wd}; foreach $file(keys %$files) { print "Das Wort '$input' kommt in Datei '$file' $$files{$file} mal vor.\n"; } } else { print "Das Wort wurde nicht gefunden!\n"; }
2011-06-26T18:57:39 genjaIch habe viel nachgelesen und gesucht und dann auf irgendeiner Seite die Idee genommen hash referenzen zu benutzen
foreach (<*>) {print "$_\n";}
if($line =~ m/Wort/) {print "Gefunden\n";}