|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Igor Bondarenko 2:5020/400 08 Feb 2002 12:25:02 To : Alan Long Subject : Re: <none> -------------------------------------------------------------------------------- Alan Long wrote: > > * Reply to a message > * 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; ... можно еще так: open(FILE, "file.txt"); @file = <FILE>; close(FILE); foreach $i (@file) { print $i } или open(FILE, "file.txt"); while(<FILE>) { print $_ } close(FILE) -- Best regards, Igor --- ifmail v.2.15dev5 * Origin: - (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/631804019ac0.html, оценка из 5, голосов 10
|