Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Alan Long                            2:5030/1082.72 08 Feb 2002  01:30:02
 To : Alexey A Kudacov
 Subject : <none>
 -------------------------------------------------------------------------------- 
 
 * Originally from Alexey A Kudacov (2:5015/186) to All.
 
  AAK>  У меня есть файл. Имеет вид:
  AAK>  aaa|bbb|ccc|
  AAK>  aaa1|bbb1|ccc1|
 
  AAK>  Задача: читать файл построчно с конца. Варианты кончено есть, но
  AAK> хочется посмотреть более практичный и рациональный. Заранее
  AAK> спасибо! 
 
 Можно попробывать банальный:
 open( IN, $file );
 @array = reverse <IN>;
 close( IN );
 for( $i = 0; $i < $#array; $i++ ) {
    print $array[$i];
 }
 То есть чтение всего файла в память (массив) с последующим использованием
 функции reverse для переворачивания массива.
 
 Второй, более сложный вариант:
 use DB_File;
 
 $dbh = tie( @array, "DB_File", O_RDONLY, 0640, $DB_RECNO );
 
 for( $i = $dbh->length; $i >= 0; $i-- ) {
    print @array[$i]; 
 }
 untie @array;
 
 сейчас под рукой нету perl-а, так что проверить на практике данные примеры нет
 возможности, как и оценить быстодействие в том и в другом случае.
 
  AAK> [/Mo.Nashe.Radio/ Team] WBR, Alexey A Kudacov  [ak@52.ru]
 
 -- 
 With best,
      Ъ-·    Ъ
      Е-ЧLaі\і <alan@x-rays.eu.org>
 
 --- timEd/386 1.10+
  * Origin: X - Rays Station (2:5030/1082.72)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 <none>   Alan Long   08 Feb 2002 01:30:02 
 Re: <none>   Igor Bondarenko   08 Feb 2002 12:25:02 
 Re: <none>   Igor Bondarenko   08 Feb 2002 13:43:37 
Архивное /ru.cgi.perl/4581c62f45e0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional