Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Ирина_М
Зарегистрирован: 03.02.2005 Сообщения: 17
|
Добавлено: Пн Апр 25 2005 17:44 Заголовок сообщения: Perl под FreeBSD. Функция readline читает строки через одну. |
|
|
Есть примерно такой скрипт
open (FILE1, "/home/me/1") or die ("Cannot open file");
while (<FILE1>) {
$string = readline (*FILE1) ;
@fields = split (/\s+/, $string);
@time = split(/:/, $fields[0]);
$hour = $time[0];
$min = $time[1];
print "$string";
}
close (FILE1) or die $!;
В результате выполнения строк получается в два раза меньше, чем в исходном файле. Почему? Спасибо. |
|
Вернуться к началу |
|
|
Ирина_М
Зарегистрирован: 03.02.2005 Сообщения: 17
|
Добавлено: Пн Апр 25 2005 17:52 Заголовок сообщения: |
|
|
Ой. Вроде разобралась - убрала звездочку в readline (*FILE1) и все ок стало. |
|
Вернуться к началу |
|
|
Ирина_М
Зарегистрирован: 03.02.2005 Сообщения: 17
|
Добавлено: Пн Апр 25 2005 17:55 Заголовок сообщения: |
|
|
Блин.. Ни фига. Он тогда вообще оттуда ничего не читает((( |
|
Вернуться к началу |
|
|
Aragaer
Зарегистрирован: 28.03.2005 Сообщения: 164
|
Добавлено: Пн Апр 25 2005 22:44 Заголовок сообщения: |
|
|
команда <FILE1> читает строчку и отбрасывает ее. Команда readline читает следующую строчку.
Код: | while($string=<FILE1>) { | или даже , а дальше работать с $_. _________________ Open your eyes.
And Awaken. |
|
Вернуться к началу |
|
|
Ирина_М
Зарегистрирован: 03.02.2005 Сообщения: 17
|
Добавлено: Вт Апр 26 2005 14:57 Заголовок сообщения: |
|
|
О!! Класс!! Спасибо большое!!! Правда я сделала так: while (<FILE>) {
$string = $_;} |
|
Вернуться к началу |
|
|
|