🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Nietypowy Search Engine

#1396
From: Przemyslaw Popielarski
Date: Thu, 14 May 1998 19:28
66 lines
3669 bytes
Qrczak napisał(a) w wiadomości: ...
>> open (PLIK, "$pliklog") || die "Nie moge otworzyc pliku: $pliklog\n";

>Wydaje mi się, że zamiast die lepiej to wypisać w tym HTMLu, >prawda?


Niewatpliwie tak zrobie, i zrobil bym tow czesniej, gdybym to ja pisale te
linijke. Szczerze mowiac, nie wiem nawet co robi 'die', a takze co daje
||... Przypuszczam, ze chodzi o to, ze jesli otworzenie pliku nie powiedzie
sie, to wypisuje komunikat.

>Akurat na rekord użyłbym bezpośrednio zmiennej $_. Tak więc:


[...]

>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.

>IMHO prościej czytać tutaj na bieżąco z pliku. Dodatkowo nie będziemy
>czytać całego pliku, jeśli będzie tego więcej niż 30.

O! I to jest 100% argument nie do pobicia. Nie wpadlem na to. O dziwo
zreszta, takie czytanie po linijce dziala duzo duzo szybciej!  Przeszukuje
mi te 34000 rekordow w mig, a przedtem potrzebowal kolo 5 sekund!


>> Ale moj problem jest troche zlozony...
>IMHO nie jest :-)


Dla mnie jest :(
I im bardziej sie wglebiam w ten jezyk, tym go mniej rozumiem.
Coz, ide studiowac te many.

Dzieki wielkie Qrczak, bardzo mi pomogles.

Aha, na koniec mam jeszcze jedno pytanko:
 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).
Chodzi o to, ze chce wypisywac *przed* wyszukiwaniem, ile jest dostepnych
rekordow. Chce, zeby ta informacja pojawiala sie bez opoznien. Ale jesli sie
nie da, to nic. Nie jest mi to niezbedne...

./ premax
./ abe@ikp.pl, premax@abe.com.pl
./ uin 9022511
./ koniec i bomba, a kto czytal ten traba. w.g.
Technical Details
Message-ID: <6jfp5c$oq2$3@sunsite.icm.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!not-for-mail
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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!not-for-mail
From: "Przemyslaw Popielarski" <abe@ikp.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: Nietypowy Search Engine
Date: Thu, 14 May 1998 21:28:39 +0200
Organization: http://news.icm.edu.pl/
Lines: 69
Message-ID: <6jfp5c$oq2$3@sunsite.icm.edu.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>
NNTP-Posting-Host: ppp4-170.warszawa.tpnet.pl
X-Newsreader: Microsoft Outlook Express 4.72.2106.4
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit