|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : John Lepikhin 2:5070/156 21 May 2002 22:59:22 To : Serge Kol Subject : Re: Поисковик -------------------------------------------------------------------------------- Приветствую, Serge. !> On 21 May 02 08:56:35 +0900, Serge -> All: SK> Поисковая система с онлайновым поиском заткнулась на цифpе 50 SK> тысяч альбомов, поскольку скpипт (неоптимально написанный и SK> пеpебиpающий все записи) стал упиpаться в таймаут. У меня на машине крутится аналогичная игрушка для поиска впределах города (правда, у меня списки выдираются из результатов работы программы mlist, что на порядок сложнее). Все гораздо тривиальнее, чем ты думаешь - делай в SQL базе. Простейший скрипт (без разнесения по отдельным таблицам) будет выглядеть примерно так: use DBI; $db = 'disk_exchange'; $dbuser = 'vasya'; $dbpassw = '12345'; $dbdriver = 'mysql'; $host = 'far.far.away.ru'; $port = 12345; $dbh = DBI->connect("DBI:$dbdriver:database=$db;host=$host;port=$port", $dbuser, $dbpassw); open F, './userlist.txt'; while (<F>) { chomp; if (($artist, $album, $bitrate) = $_ =~/([^\t]+)\t+([^\t]+)\t+(\d+)/) { $t = $dbh->prepare("insert into disks set owner=$ownerID, artist=\"$artist\", album=\"$album\", btr=$bitrate"); $t->execute; } } close F; Это простейший вариант, только для примера. -- ... [лесные компьютерщики] {allnet} {ptoss} --- Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley) * Origin: A poorly-installed InterNetNews site (2:5070/156.0) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/350084aa554ae.html, оценка из 5, голосов 10
|