Article View: pl.comp.lang.perl
Article #1401Re: Nietypowy Search Engine
From: Qrczak
Date: Fri, 15 May 1998 14:08
Date: Fri, 15 May 1998 14:08
43 lines
3212 bytes
3212 bytes
On Thu, 14 May 1998, Przemyslaw Popielarski wrote:
> >Flaga /o jest tutaj _bardzo_ przydatna - powoduje, że wyrażenie
> >regularne będzie skompilowane tylko raz, a nie przy każdym użyciu, co
> >powinno znacząco przyspieszyć. Flaga ta jest sensowna tylko jeśli
> >wyrażenie regularne formalnie nie jest stałe, ale skądinąd wiemy, że
> >wszystkie zmienne tam użyte się nie zmienią - tak jak tutaj.
>
> >Bo oczywiście jest to perlowe wyrażenie regularne, a nie kawałek tekstu.
> >Użytkownik powinien to wiedzieć. Jeśli miałby być wyszukany tylko
> >kawałek tekstu, to można by go zapisać tak: /\Q$szukane/io (zobacz
> >linuksowy man perlre). Z tym że część osób potrafi z wyrażeń regularnych
> >skorzystać, więc głupio by było taką możliwość niepotrzebnie zabierać.
> >Za to trzeba by się jakoś zabezpieczyć przez błędami składni w takim
> >wyrażeniu, bo skrypt się posypie. Chyba można wstępnie przetestować
> >to wyrażenie regularne wewnątrz eval, co pozwoli złapać błędy jego
> >składni podczas wykonania, nie przerywając działania skryptu
>
> Kurcze, Qrczak, z tego ww. kawalka nic tak naprawde nie rozumiem.
A wiesz, co to są wyrażenia regularne?
> poniewaz korzystam z Twojej metody czytania linijek tylko do jakiejs tam
> wartosci (30), to nie wiem, ile plik ma linijek. Czy jest metoda, aby
> sprawdzic ile plik ma linijek _natychmiastowo_ ? (bez wczytywania go calego
> do pamieci).
Fizycznie nie ma sposobu, żeby sprawdzić liczbę linijek pliku bez
przeczytania jego całego (niekoniecznie wczytując go naraz do pamięci).
Przecież linie są różnej długości, oddzielone tylko znakiem końca linii
- ilość linii nie jest nigdzie pamiętana.
Można najwyżej próbować np. wczytać mało linijek, policzyć ich długość
i na podstawie wielkości całego pliku wyprorokować przybliżoną ilość
linii. Można gdzieś na boku pamiętać ilość linii z poprzedniego
przebiegu, a nawet oceniając daty plików można sprawdzić, czy jest
aktualna.
--
QRCZAK
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrczak.home.ml.org/
Technical Details
Message-ID:
<Pine.LNX.3.96.980515160125.30957A-100000@qrnik.knm.org.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!orion.cst.tpsa.pl!news.task.gda.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczakReferences:
<6j5bve$gql$1@sunsite.icm.edu.pl> <6j7lmm$591$1@galaxy.uci.agh.edu.pl> <6j9e4m$sol$1@sunsite.icm.edu.pl> <Pine.LNX.3.96.980512174353.25001D-100000@qrnik.knm.org.pl> <6jaefe$e5b$1@sunsite.icm.edu.pl> <Pine.LNX.3.96.980514085251.11352G-100000@qrnik.knm.org.pl> <6jfp5c$oq2$3@sunsite.icm.edu.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!orion.cst.tpsa.pl!news.task.gda.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczak From: Qrczak <qrczak@knm.org.pl> Newsgroups: pl.comp.lang.perl Subject: Re: Nietypowy Search Engine Date: Fri, 15 May 1998 16:08:35 +0200 Organization: Klub Nieszkodliwych Manjaków Lines: 44 Message-ID: <Pine.LNX.3.96.980515160125.30957A-100000@qrnik.knm.org.pl> References: <6j5bve$gql$1@sunsite.icm.edu.pl> <6j7lmm$591$1@galaxy.uci.agh.edu.pl> <6j9e4m$sol$1@sunsite.icm.edu.pl> <Pine.LNX.3.96.980512174353.25001D-100000@qrnik.knm.org.pl> <6jaefe$e5b$1@sunsite.icm.edu.pl> <Pine.LNX.3.96.980514085251.11352G-100000@qrnik.knm.org.pl> <6jfp5c$oq2$3@sunsite.icm.edu.pl> Reply-To: Qrczak <qrczak@knm.org.pl> NNTP-Posting-Host: ppp3-cst132.warszawa.tpnet.pl Mime-Version: 1.0 In-Reply-To: <6jfp5c$oq2$3@sunsite.icm.edu.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit