Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как распечатать одну строку из файла? 
:(
    Опции темы
Дмитрий Волк
Дата 3.5.2004, 16:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В данный момент что бы распечатать очередную строку из файла я исспользую код:
print ($temp = <DESCRIPTOR>);

Можно ли сделать это в одну операцию?

P.S.: Пытался <DESCRIPTOR>; но печатает весь файл
  Вверх
korob2001
Дата 3.5.2004, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



Цитата

Пытался <DESCRIPTOR>; но печатает весь файл

Видиш ли функция print всегда возвращает список и принимает тоже список. Соответственно оператор <> вызывается в списковом контексте, именно поэтому мы и получаем весь файл. Потому нам нужно явно указать что мы читаем файл в скалярном контексте. Вот здесь нам и приходит на помощь фукция scalar(). Скобки можно опустить, как тебе удобней.
Вот пример:
Код

print scalar( <DESCRIPTOR> );

удачи.

Это сообщение отредактировал(а) korob2001 - 3.5.2004, 20:37


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Дмитрий Волк
Дата 3.5.2004, 22:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ОГРОМНОЕ спасибо!
  Вверх
ElectricalStorm
Дата 6.5.2004, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



Цитата

Видишь ли функция print всегда возвращает список и принимает тоже список

- чепуха .... smile.gif

вот посмотрите что будет

Код

while (<>) {
   print <>;
   last;
}




--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
korob2001
Дата 6.5.2004, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



Цитата

Цитата

Видишь ли функция print всегда возвращает список и принимает тоже список

- чепуха .... smile.gif

Обоснуй.
Цитата

while (<>) {
  print <>;
  last;
}

И что ты этим хотел сказать?
После запуска программа ожидает ввода, ввожу несколько строк, в результате получаю те строки которые вводил.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
ElectricalStorm
Дата 11.5.2004, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



#script.pl
while (<>) {
print <>;
last;
}


запусти
perl script.pl text



--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
korob2001
Дата 12.5.2004, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



Цитата

запусти
perl script.pl text

Да я знаю, что произойдёт при таком вызове. Программа выведет на стандартное устройство вывода содержимое файла text, если файлов задать несколько, то они все, как один, будут выведены на стандартное устройство вывода.
Только я что-то не пойму, к чему это?


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0436 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.