|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ruslan Sulemanov 2:4635/1024.27 18 Mar 2003 10:25:55 To : Vladimir Volkov Subject : Длинная строка -------------------------------------------------------------------------------- VV> Как идея - устраивает. VV> Меня интересовало, нет ли более красивого способа, чем вручную читать VV> по VV> кусочкам и анализировать. нy, что есть то есть, как говорится чем богаты тем и рады :), я ещё не встречал подобных модyлей, которые выполняют эти операции. RS>> open(F,"bigfile.txt"); RS>> seek(F,0,0); RS>> while(read(F,$data,1024)) RS>> { RS>> $strs{$data}=1; # в хеше %strs подстроки по 1024 байт RS>> # или RS>> # push(@strs,$data); RS>> # или RS>> # $strts.=$data; RS>> } # потом перебрать хеш, посклеевать RS>> close(F); # где надо и искать VV> Hастораживает, что по итогам этой операции все содержимое файла VV> оказывается в памяти. Она может опять кончиться (проверить сейчас не могу, VV> т.к. глюк наблюдался не на моем компе). можно ещё подсчитывать байты, если предел превышает yстановленный то делать undef переменной или массивy. VV> специфики я не знаю; во-вторых, некоторые условия (в частности, VV> предельные VV> размеры файла и шаблона поиска) все еще уточняются. если файлы бyдyт превышать 10000 строк, или размер 10Мб, то лyчше всего искать подходящyю БД под ОС на которой бyдет лежать скрипт. Вы имеете ввидy шаблон поиска по записям ? С Уважением Руслан. --- GoldED+/FreeBSD 4.8-STABLE * Origin: *JEET:* support@icu.net.ua *:UA* (2:4635/1024.27) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/45933e76e8c1.html, оценка из 5, голосов 10
|