|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Yaroslav Kulikov 2:5036/32.13 02 Nov 2000 17:28:22 To : Eugene Grosbein Subject : Re^2: Файлы -------------------------------------------------------------------------------- _*ЯЯЯЯЯЯ*_ Итак, я решил ответить на письмо, датированное /*Четверг 02 Hоября 2000*/, /*16:56*/, в котором /*Eugene Grosbein*/ просвещал /*Eugene Grosbein*/ по поводу "Re: Файлы" >>> Hарод, подскажите мне _наибыстрейший_ способ чтения определенной >>> строки (известен номер нужной строки) текстового файла. При всем при >>> этом номер может достигать и 1000. Именно поэтому нужен >>> наибыстрейший способ. >> >> Что-то типа этого (контроль за ошибками допиши сам): >> >> open(F,"/usr/bin/head -n $number $filename|"); >> while(<F>); >> close(F); >> >> Btw, код head.c в FreeBSD 3.5 датирован 24-м августа 1977 года. >> Если его с тех пор не переписали, значит, хорош :) EG> Счас подумал - шутку могут не понять и так и будут делать. EG> Короче - читай в цикле строки и все. Для файла произвольной EG> структуры быстрее не сделаешь Тут прикол вот в чем: я знаю два варианта, но не знаю какой быстрее, да к тому же может быть кто-нибудь еще что-либо предложит... Вариант 1: Считать файл в массив ( @datearray = <DATEFILE>; ) и делать нужные вещи с искомым элементом. Вариант 2: Читать в цикле последовательно строки пока не дойду до нужной. Пусть удача не отвернется от Вас. /ЯрикЪ-МанЪярик/ ... Любить - это находить в счастье другого свое собственное счастье... Лейбниц --- И вообще я из WinAMP'а вышел давно. * Origin: I don't have a life, I have a BBS... (2:5036/32.13) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/136183a019754.html, оценка из 5, голосов 10
|