Как было описано прежде, в числовом контексте строка 0Е0 рассматривается как числовое значение 0 (считается, что эта строка представляет число с плавающей точкой 0.0Е0). Однако в логическом контексте 0Е0 имеет истинное значение, этот код результата можно интерпретировать как имеющий смысл — “нулевой, но истинный”. Иными словами, он означает следующее: “ошибок нет, но повторите попытку позднее”.
Кроме метода getline (), можно вызвать любой другой метод объекта дескриптора файла, заключенного в оболочку. Метод IO::Getline просто передает вызов метода основополагающему объекту. Это позволяет непосредственно вызывать такие методы объекта IO::Getline, как sysread () и close().
Применение модуля IO::Getline
Модуль IO::Getline используется в сочетании с функцией select(). Поскольку он никогда не блокируется, его нельзя применять просто для непосредственной замены оператора <>.
Чтобы продемонстрировать область применения этого модуля, в листинге приведена небольшая программа, в которой объект IO::Getline используется в сочетании с методом select () для построчного чтения из дескриптора STDIN. Загружаются модули IO::Getline и IO::Select и создается набор дескрипторов IO:: Select, содержащий дескриптор файла STDIN. Затем вызывается метод IO::Getline->new () для создания нового неблокирующего объекта IO::Getline, который является оболочкой для STDIN.
После этого программа входит в цикл select (). При каждом проходе по циклу вызывается метод can_read() объекта IO::Select, который возвращает истинное значение, если дескриптор STDIN содержит данные, доступные для чтения.
0: #!/usr/local/bin/perl -w 1: # Файл: cat.pl 2: use strict; 3: use IO::Getline; 4: use IO::Sdlect; 5: my $s = 10::Select->new(*STDIN); 6: my $stdin = 10::Getline->new(*STDIN); 7: my $data; 8: while ($sr>can_read) { 9: my $rc = $stdin->getline ($data) or last;' 10: print $data if $rc > 0; 11: } 12: I die "Read error::$stdin->error if $stdin->error;
2014-08-01 13:00:20
это интересно Давно не секрет, что главной визитной карточкой компании в сети Интернет является сайт. Создание и продвижение сайтов в Твери можно выполнить воспользовавшись источником idea-style.ru. Именно здесь Вам будет предложен оригинальный дизайн, креативные идеи и различные функциональные возможности для вашего проекта.