![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| Дмитрий Волк |
|
|||
|
Unregistered |
В данный момент что бы распечатать очередную строку из файла я исспользую код:
print ($temp = <DESCRIPTOR>); Можно ли сделать это в одну операцию? P.S.: Пытался <DESCRIPTOR>; но печатает весь файл |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
Видиш ли функция print всегда возвращает список и принимает тоже список. Соответственно оператор <> вызывается в списковом контексте, именно поэтому мы и получаем весь файл. Потому нам нужно явно указать что мы читаем файл в скалярном контексте. Вот здесь нам и приходит на помощь фукция scalar(). Скобки можно опустить, как тебе удобней. Вот пример:
удачи. Это сообщение отредактировал(а) korob2001 - 3.5.2004, 20:37 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| Дмитрий Волк |
|
|||
|
Unregistered |
ОГРОМНОЕ спасибо!
|
|||
|
||||
| ElectricalStorm |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 1 Всего: 9 |
- чепуха .... вот посмотрите что будет
-------------------- Нужно знать инструмент, которым пользуешься |
||||
|
|||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
Обоснуй.
И что ты этим хотел сказать? После запуска программа ожидает ввода, ввожу несколько строк, в результате получаю те строки которые вводил. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 1 Всего: 9 |
#script.pl
while (<>) { print <>; last; } запусти perl script.pl text -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 6 Всего: 61 |
Да я знаю, что произойдёт при таком вызове. Программа выведет на стандартное устройство вывода содержимое файла text, если файлов задать несколько, то они все, как один, будут выведены на стандартное устройство вывода. Только я что-то не пойму, к чему это? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |