🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #1401

Re: Nietypowy Search Engine

#1401
From: Qrczak
Date: Fri, 15 May 1998 14:08
43 lines
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!qrczak
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>

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