linux-l: wiedermal perl

Ulrich Wiederhold U.Wiederhold at gmx.net
Mo Okt 29 17:03:49 CET 2001


* Robert C. Helling <helling at aei-potsdam.mpg.de> [011029 16:17]:
> On Mon, 29 Oct 2001, Ulrich Wiederhold wrote:
> >     foreach my $word (@search) {
> >       if ($key =~ /$word/) {
> >       $counter++;
> >       }
> 
> wie waer hier ein 
> 	else{last;}
> ?

Das ist super. Wußte gar nicht, daß es sowas gibt. :) Werde das Script
nochmal auf solche Stellen durchsuchen... :=)
AUßerdem bin ich drauf gekommen, daß "unless" anstelle von "if" hier
wohl auch perforanter wäre, da die meisten $keys wohl nicht matchen
werden.

> Ich weiss ja nicht, wie gross Deine Datenmenge ist und wie gross Dein
> String. 
Der String ist der kompletter Pfad mit Filenamen. Insgesammt so um die
20.000 Files.

> Ggf koennte es was bringen, die Verschachtelung der beiden foreach
> Schleifen zu vertauschen. Dann koenntest Du die regexp
> vorcompilieren.
Hmm, wüßte nicht wie das sinnvoll u berwerstelligen wäre. Da müßte man
doch nur mehr rechnen...

> Aber wenn die CPU-Last ein Problem ist, solltest Du evtl
> darueber nachdenken, das ganze nicht in Perl zu implementieren, sondern zB
> in C. 
Hmm, nur leider kann ich kein C und da das Script via Perl in ein
anderes Programm eingebunden wird...

> Aber ehrlich, Dein Datenbestand muss ja wirklich riesig sein, wenn
> Du bei sowas CPU-Last bemerkst (oder: So einen Rechner hatte ich auch
> mal).
K6-2/400 (noch). Ist wohl eher die Anzahl Files, nehme ich an.

Ich werde das jetzt mal im Betrieb testen. Vielleicht kann man es ja so
schon verwenden. Wenn jemand noch ne Idee hat...
:)
Uli
 
-- 
'The box said, 'Requires Windows 95 or better', so i installed Linux - TKK 5



Mehr Informationen über die Mailingliste linux-l