Thread Text-Datei nach einer Variable durchsuchen
(8 answers)
Opened by KamelKraut at 2014-03-15 10:21
Abhängig davon, was du unter "riesig" verstehst, gäbe es auch noch die Möglichkeit, zunächst alle Namen in einen Hash zu lesen und dann abzutesten, ob ein Hash-Element existiert.
Code wäre so: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 use strict; use warnings; my %allNames; while (<DATA>) { chomp; $allNames{$_} = 1; } for my $testName ("John Lennon", "Raubtier", "Paule McC") { print "$testName ist " . ($allNames{$testName} ? "" : "nicht ") . "drin\n"; } __DATA__ John Lennon Paule McC Das ist insbesondere dann interessant, wenn du schnell für mehrere Namen herausfinden musst, ob diese vorhanden sind. Dazu sollte der Hash aber natürlich in den RAM passen. Um das für deinen Fall anzupassen, müsste man dann in dem Satz erst einmal einen Namen herausfinden. Da man nicht weiß, wie lang der Name ist, müsste man dann alles, was ein Name sein könnte, gegen den Hash testen. Wäre also schlecht für lange Sätze, da man dann entsprechend viele Vergleiche machen müsste. Andererseits sind Sätze vermutlich kurz und du müsstest ja sonst auch in dem Satz nach den Namen suchen... Last edited: 2014-03-15 23:05:00 +0100 (CET) |