П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 177568 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 74891 раз(а).

Учебник HTML.
Просмотров 73672 раз(а).

Руководство по PHP5.
Просмотров 44583 раз(а).

Хостинг через призму DNS.
Просмотров 51348 раз(а).

Подборка текстов стандартных документов.
Просмотров 44709 раз(а).

Учебник PHP - Самоучитель
Просмотров 50959 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51393 раз(а).

Внешние атаки...
Просмотров 41619 раз(а).

Учебник PHP.
Просмотров 36900 раз(а).

SSI в примерах.
Просмотров 27636 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 6: Базовые средства ввода-вывода
6.1 Ввод из STDIN

Чтение со стандартного ввода (через Perl-дескриптор файла stdin) — несложная задача. Мы уже делали это в операции <stdin>. Выполняя эту операцию в скалярном контексте, мы получаем следующую строку ввода* (а если строк больше нет — то значение undef):

$а = <STDIN>; # прочитать следующую строку

Выполнение в списочном контексте дает все оставшиеся строки в виде списка, каждый элемент которого представляет собой одну строку, включающую завершающий символ новой строки. Напомним:

@а = <STDIN>;

Как правило, при разработке программы приходится решать задачу чтения всех строк по одной с последующим выполнением над каждой из них каких-либо операций. Вот широко используемый метод решения этой задачи:

while (defined($1ine_ = <STDIN>)) {
  # здесь обработать $1ine
}

* До символа новой строки или того, что вы присвоили переменной $_.

Пока есть непрочитанные строки, в результате выполнения операции <stdin> получается определенное значение, и выполнение цикла продолжается. Если строк для чтения у <stdin> больше нет, эта операция возвращает значение undef и завершает цикл.

Операция чтения скалярного значения из <stdin> в $_ и использование этого значения в качестве переменной цикла (как в предыдущем примере) выполняется довольно часто, поэтому в Perl предусмотрена для этого случая специальная сокращенная запись. Если в выражении для проверки цикла указан только оператор чтения со стандартного ввода (нечто вроде <...>), то Perl автоматически копирует строку, которая считывается, в переменную $_.

while (<STDIN>) { # как "while(defined($_ = <STDIN>_)"
  chomp; # как "chomp($_)" 
         # здесь выполняются другие операции с $_
}

Поскольку переменная $_ по умолчанию используется во многих операциях, таким способом вы можете значительно сократить объем набираемого текста.

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru