Xpoint
   [напомнить пароль]

PerlIO: История

Внимание! Данный интерфейс находится в стадии глубокой переделки. Наберитесь терпения.

Последнее изменение

12 лет назад DJ G.E.D[досье] изменил текст:
Текст: Perl Input Output¶
Интерфейс ввода вывода Perl¶

=#:unix#=¶
НизкоуревневыйНизкоуровневый интерфейс определяющий базовые операции PerlIO в терминах UNIX/POSIX¶
(open(), read(), write(), lseek(), close()). ¶

=#:stdio#=¶
Интерфейс используемый fread/fwrite, fseek/ftell и т.д. ¶
_Примечание: Этот _Этот интерфейс (подобно "настроящемунастоящему" stdio) игнорирует любые другие интерфейсы обращаясь напрямую к операционной системе._системе_

=#:perlio#=¶
Интерфейс быстрого прямого доступа к буфферубуферу функции sv_gets, отвечающей за реализацию операторов <> и readline(), что позволяет минимизировать расход памяти.¶
:perlio использует интерфейс :unix для осуществления низкоуровневых операций.¶

=#:crlf#=¶
Интерфейс преобразования DOS/Windows окончаний строк. При чтении происходит автоматическая замена пары CR,LF в одиночное окончание строки "\n". При записи выполняется обратная замена "\n" на пару CR,LF. В отличии от MS-DOS комбинация Control-Z не используется в качестве маркера конца файла.

_:crlf игнорирует попытки многократных вызовов не выдавая предупреждений. Процесс загрузки прерывается, если при проверке стека интерфейсов обнаруживается использование :crlf в качестве интерфейса низкого уровня. В этом случае преобразование происходит на самом низком уровне и вызовы на других уровнях игнорируются. ¶

Логика загрузки подразумевает первоочередное использование уже загруженного интерфейса и собственно загрузку, если таковой не найден._¶

=#:mmap#=¶
Интерфейс обеспечивает "чтение" файла функцией mmap(), что делает его доступным в адресном пространстве процесса и позволяет использовать его в качестве "буфера" PerlIO.¶
Это ускоряет работу с большими файлами и позволяет экономней использовать оперативную память при множественных запросах исполняемых процессов к одному файлу.¶

Для чтения файлов не поддерживаемых функцией mmap(), а также для записи файлов (использующей дополнительный файл) эмулируется интерфейс подобный :perlio, что может свести на нет все преимущества этого интерфейса.¶

Интерфейс :mmap не включается в сборку на платформах не поддерживающих функции mmap()¶

=#:utf8#=¶
Устанавливает кодировку символов в потоках ввода/вывода Perl (UTF-8 на платформе ASCII или UTF-EBCDIC на платформе EBCDIC). Это позволяет Perl читать и записывать любые символы в потоках ввода/вывода. ¶

Этот пример демонстрирует запись и чтение данных в кодировке UTF-8 (или UTF-EBCDIC).¶
<<<¶
open(F, ">:utf8", "data.utf");¶
print F $out;¶
close(F);¶

open(F, "<:utf8", "data.utf");¶
$in = <F>;¶
close(F);¶
>>>>¶

=#:bytes#=¶
Интерфейс обратный по значению :utf8. Предполагает поступление данных в виде "октетов" (символов со значением от 0 до 255) и включает выдачу предупреждений при обнаружении "инородных" символов (не входящих в указанный диапазон значений).¶

=#:raw#=¶

Устанавливает бинарный режим данных в потоке (аналогично binmode()), при этом поток остается буферизированным.¶

В Perl 5.6 и некоторых книгах :raw называют интерфейсом (иногда "дисциплиной") обратным по значению :crlf.¶

История предыдущих изменений

изменения дата автор
текст 2005-06-27 19:53:14 (12 лет назад) DJ G.E.D[досье]
текст 2005-06-20 12:44:38 (12 лет назад) DJ G.E.D[досье]
текст, заголовок 2005-06-20 10:33:34 (12 лет назад) DJ G.E.D[досье]
RSS
Powered by POEM™ Engine Copyright © 2002-2005