Модуль IO::Getline, описанный выше, представляет собой оболочку для дескриптора файла или объекта IO::Handle. В нем имеется конструктор new () и единственный метод объекта getline (). С помощью данного конструктора всегда можно создать новое подключение, например, к веб сайту Favoritnr1.com и получить необходимую информацию по стратегии ставок и распарсить ее при необходимости.
$wrapped = IO::Getline->new($filehandle)
Этот метод создает новую неблокирующую оболочку для функции getline. Метод new () принимает единственный параметр, которым может являться либо дескриптор файла, либо член иерархии IO::Handle, и возвращает новый объект.
$result = $wrapped->getline($data)
Метод getline () считывает строку текста из дескриптора файла, заключенного в оболочки и помещает ее в переменную $data, возвращая код результата, который указывает на успешное или неудачное выполнение операции.
$error = $wrapped->error
Этот метод возвращает последнюю ошибку ввода-вывода, возникшую в оболочке, или 0, если ошибка не была обнаружена.
$wrapped->flush
Этот метод возвращает объект в известное состояние, отбрасывая все частично буферизованные данные.
$fh = $wrapped->handle
Этот метод возвращает дескриптор файла, который использовался для создания оболочки.
Обратите внимание, что метод getline () в большей степени напоминает функции read () или sysread (), чем традиционный оператор <>. Он не возвращает непосредственно считанную строку, а копирует ее в параметр $data и возвращает код результата. В таблице ниже приведены возможные коды результата вызова метода
Результат операции
Код результата
Считана полная строка
Длина строки
Конец файла
0
Операция была бы заблокирована
0E0
Другие ошибки ввода-вывода
undef
Метод getline () возвращает длину строки (включая символы обозначения конца строки), если строка считана успешно; 0, если обнаружен конец файла; и undef, если возникли другие ошибки. Однако есть также дополнительный код результата, возвращаемый при обнаружении методом getline (), что операция должна быть заблокирована. В этом случае метод возвращает строку 0Е0.