Perl / 4. Ввод и вывод

Вы уже умеете выполнять простейшие операции ввода/вывода; они были необходимы для выполнения некоторых упражнений. Но в этой главе операции ввода/вывода рассматриваются более подробно, а представленного материала будет достаточно для выполнения 80% ввода/ вывода во всех ваших программах. Если вы уже знакомы с концепциями стандартных потоков ввода, вывода и ошибок, вам будет проще читать эту главу. Если нет, вы освоите их к концу главы. Пока можно считать, что «стандартный ввод» – это клавиатура, а «стандартный вывод» – экран монитора.
Статьи раздела '4. Ввод и вывод':
Аргументы вызова
Формально оператор не просматривает аргументы вызова – он работает с массивом @ARGV. Это специальный массив, который интерпретатор Perl заполняет аргументами вызова. Иначе говоря, он во всем похож на обычные массивы (если не счит...
Ввод данных оператором
В другом способе получения входных данных применяется оператор . Он особенно полезен при создании программ, использующих аргументы вызова по аналогии со стандартными утилитами UNIX. Если вы хотите написать программу Perl, которая ...
Вывод функцией say
Perl 5.10 позаимствовал встроенную функцию say из текущей разработки Perl 6 (которая, возможно, взяла за образец функцию println из Pascal). Функция say делает то же, что print, но завершает вывод символом новой строки. Все следую...
Закрытие файлового дескриптора
После завершения работы с файловым дескриптором его можно закрыть оператором close: close BEDROCK; При закрытии файлового дескриптора Perl сообщает операционной системе, что работа с потоком данных завершена, а все выведенны...
Запись данных в стандартный вывод
Оператор print получает список значений и последовательно передает их (в виде строк, конечно) в стандартный вывод. Никакие дополнительные символы до, после или между элементами не выводятся. Если вы хотите, чтобы выводимые элемент...
Изменение файлового дескриптора вывода по умолчанию
По умолчанию, если при вызове print (или printf – все, что мы здесь говорим об одной функции, в равной степени относится к другой) не указан файловый дескриптор, данные направляются в STDOUT. Однако этот файловый дескриптор по умо...
Использование файловых дескрипторов
Когда файловый дескриптор будет открыт для чтения, чтение строк из него осуществляется практически так же, как чтение из стандартного ввода с дескриптором STDIN. Например, чтение строк из файла паролей UNIX происходит так: if (...
Массивы и printf
В обычной ситуации массив не может использоваться как аргумент printf. Это объясняется тем, что массив может содержать любое количество элементов, а форматная строка работает с фиксированным числом элементов. Если форматная строка...
Недопустимые файловые дескрипторы
В действительности Perl не может открыть файл своими силами. Он, как и другие языки программирования, всего лишь обращается к операционной системе с запросом на открытие файла. Конечно, операционная система может отказать изQза ра...
Открытие файлового дескриптора
Итак, Perl предоставляет три стандартных дескриптора STDIN, STDOUT и STDERR, автоматически открытых для файлов и устройств, заданных родительским процессом (вероятно, командным процессором). Если вам понадобятся другие файловые де...
Повторное открытие стандартного файлового дескриптора
Ранее мы уже упоминали о том, что при повторном открытии файлового дескриптора (то есть если вы открываете файловый дескриптор FRED, хотя в программе уже имеется открытый файловый дескриптор FRED) старый дескриптор закрывается авт...
Предупреждающие сообщения и функция warn
Подобно тому как функция die выдает фатальную ошибку, сходную со встроенными ошибками Perl (например, делением на нуль), функция warn выдает предупреждение, сходное с встроенными предупреждениями Perl (например, если undef использ...
Файловые дескрипторы
Файловым дескриптором называется символическое имя в программе Perl, связывающее процесс Perl с внешним миром через канал ввода/ вывода. Иначе говоря, файловый дескриптор является именем канала ввода/вывода, а не именем файла. Име...
Фатальные ошибки и функция die
Сейчас мы ненадолго отвлечемся. Нам понадобится материал, не связанный напрямую с темой ввода/вывода (и не ограничиваемый ею). Речь идет о том, как прервать работу программы до ее ожидаемого завершения. Когда в Perl происходит фат...
Форматирование вывода
Иногда стандартных возможностей print по управлению выводом оказывается недостаточно. Многие программисты привыкли форматировать вывод удобной функцией printf в языке C. Не бойтесь: в Perl существует похожая функция с тем же имене...
Чтение данных из стандартного ввода
Получить данные из стандартного потока ввода несложно. Мы уже делали это при помощи оператора .1 Выполнение этого оператора в скалярном контексте дает следующую строку входных данных: $line = ; # Прочитать следующую строку cho...

Страницы: 1