perlapio - perl ��勖�処院��ュ�阪����ゃ�潟�帥�若����с�若�
#define PERLIO_NOT_STDIO 0 /* For co-existence with stdio only */
#include <perlio.h> /* Usually via #include <perl.h> */
PerlIO *PerlIO_stdin(void);
PerlIO *PerlIO_stdout(void);
PerlIO *PerlIO_stderr(void);
PerlIO *PerlIO_open(const char *path,const char *mode);
PerlIO *PerlIO_fdopen(int fd, const char *mode);
PerlIO *PerlIO_reopen(const char *path, const char *mode, PerlIO *old); /* deprecated */
int PerlIO_close(PerlIO *f);
int PerlIO_stdoutf(const char *fmt,...)
int PerlIO_puts(PerlIO *f,const char *string);
int PerlIO_putc(PerlIO *f,int ch);
int PerlIO_write(PerlIO *f,const void *buf,size_t numbytes);
int PerlIO_printf(PerlIO *f, const char *fmt,...);
int PerlIO_vprintf(PerlIO *f, const char *fmt, va_list args);
int PerlIO_flush(PerlIO *f);
int PerlIO_eof(PerlIO *f);
int PerlIO_error(PerlIO *f);
void PerlIO_clearerr(PerlIO *f);
int PerlIO_getc(PerlIO *d);
int PerlIO_ungetc(PerlIO *f,int ch);
int PerlIO_read(PerlIO *f, void *buf, size_t numbytes);
int PerlIO_fileno(PerlIO *f);
void PerlIO_setlinebuf(PerlIO *f);
Off_t PerlIO_tell(PerlIO *f);
int PerlIO_seek(PerlIO *f, Off_t offset, int whence);
void PerlIO_rewind(PerlIO *f);
int PerlIO_getpos(PerlIO *f, SV *save); /* prototype changed */
int PerlIO_setpos(PerlIO *f, SV *saved); /* prototype changed */
int PerlIO_fast_gets(PerlIO *f);
int PerlIO_has_cntptr(PerlIO *f);
int PerlIO_get_cnt(PerlIO *f);
char *PerlIO_get_ptr(PerlIO *f);
void PerlIO_set_ptrcnt(PerlIO *f, char *ptr, int count);
int PerlIO_canset_cnt(PerlIO *f); /* deprecated */
void PerlIO_set_cnt(PerlIO *f, int count); /* deprecated */
int PerlIO_has_base(PerlIO *f);
char *PerlIO_get_base(PerlIO *f);
int PerlIO_get_bufsiz(PerlIO *f);
PerlIO *PerlIO_importFILE(FILE *stdio, const char *mode);
FILE *PerlIO_exportFILE(PerlIO *f, int flags);
FILE *PerlIO_findFILE(PerlIO *f);
void PerlIO_releaseFILE(PerlIO *f,FILE *stdio);
int PerlIO_apply_layers(PerlIO *f, const char *mode, const char *layers);
int PerlIO_binmode(PerlIO *f, int ptype, int imode, const char *layers);
void PerlIO_debug(const char *fmt,...)
Perl ��勉�純�若�鴻�潟�若�����������紊с�勛Щ罎���с��羆������������壔�鴻����潟�激�с�潟�с�壔�� ANSI C ��� stdio.h ��˨�������∽�違�с�壔�ŝ�鋇�荐���勰�∽�違��篏帥����鴻����с����� perl ��勉�������� (��鴻�� "perlio.h") ��� Configure ��勐��茵������̹�御�������� I/O 罘�罕���� #define
�����障�����
�����������勰�∽�違�� stdio.h ��˨����������勉����≪����˨�˨�ŝ�c�⓾����障�������� ���������羝<�������í�<�若�帥�若�壔����<����c����違�������顔�������������⓾����障�����
PerlIO *
��� FILE * ��勉�������ŝ����勉�с����� FILE * ������罕���˨����������壚����������ŝ����勉�������〠�宴�������障��(���������篏������吾� �����ゃ�潟�帥�������☖皿絎���������������壔����������鎘������с��)���
�憜����勉�������� 3 ��ゃ�勐��茖������������障��:
- 1. USE_STDIO
-
筝�荐���勐����⓾�� stdio ��∽�違�吾�� #define ������stdio �����若�喝�冴����������勉�������泣����� ��í�������∽�違�с����� �����勐�翫�� ��勉�����PerlIO * ��� FILE * ��с����� ��処院������絨���ャ�������� perl5.003_02 篁ユ�ャ�������������������í�˨����勐��茖���с��������
- 2. USE_SFIO
-
"sfio" ��í�ゃ����í�ŝ�̹�≪����⓾�������㋘�㋘�激�若�ŝ��絎�茖���с����� Unix �����激�潟�с�勛�号����ŝ�≪����ŝ�宴�若�激�с�潟�т戎��������⓾����障�� ("sfio" Unix 篁ュ����˨�壔����障��腱紙����������⓾����障�����)��� 筝�荐���勉�祉�������í�� sfio ��∽�違�吾�� #define ��с����� �����勐�翫�����PerlIO * ��� Sfio_t * ��с�����
- 3. USE_PERLIO
-
���������perl5.7.0 ��勛�翫�����絨���ャ��������筝�菴違�勖�処院�����勐��絎�茖���с��; ��������˨����c� IO ��� OS ��� C ��í�ゃ����í�ŝ����î�����茵������������勰�御�������������≪����������˨�� IO �����í�勉�������̬����������������� perl �����������九勝��с�������������˨�ŝ����障����� USE_PERLIO ��с�壔��PerlIO * ��奝���・�����勤申�����勐韻��������<�障�� - ��������夌�劫嚳��鴻�с����� ��������˨��������PerlIO * ��壩�∝�ャ�勐�ゃ�勉�障�障����榊�������ŝ��絎�茖���� 絎�茵������� 篋ゆ�������������������с����障����� �����勐�翫��筝�菴違�勐����⓾�壠�榊�������ŝ��絎�茖������若�喝�冴����㋚�����(��������������⓾�����膣����) ��∽�違�с�����
���������
PerlIO_apply_layers()
���篏������������潟�����������������茵������壚���� 絎�茖���с�����USE_PERLIO 絎�茖���˨�ゃ����⓾�� perliol ��̬��菴違�������⓾����障�����
"perlio.h" ���(��合����勉��������)������絮ゃ�˨�ŝ�c�⓾�������勉�с�������������勰�∽�違�勖����潟� ��榊�������ŝ��絎�茖���̬�ュ慌箴�絖������⓾����障����� 紊������������������������c�⓾����������������壚札筝���̬����������⓾����障�����
��鴻��羈���������ŝ�������違����∽�違�壩����������� 0 ���菴������������í�惹����˨�虁�����(��勰���� -1 ��勐�ゃ�������� EOF
)���菴������� errno
�����祉����������障�����
- PerlIO_stdin(), PerlIO_stdout(), PerlIO_stderr()
-
stdin
,stdout
,stderr
��勌撮��������˩戎��c�⓾�������������� �����������壠����違�с�ŝ�������∽�医�若�喝�冴�������勉�������̬��菴違�������⓾����障�������� ��������壚戎��������������í����������í�若����˨�������⓾�㏍�若����≪�吾�ャ�若�˨��絲障����������若�帥� �����壔�鴻����若�������с����ŝ����c�������������������夌�違�ŝ�������鴻�㋘�������������違�ŝ����ゃ�� �����ゅ櫝�醇�с����������������c����������˨�������������� ��∽�医�若�喝�冴����˨����� ��勉�� 膂≦����˨�ŝ����������с����� - PerlIO_open(path, mode), PerlIO_fdopen(fd,mode)
-
fopen()/fdopen() ���絲上��������������綣���違����������障����� �����í�若�勐�翫�����
NULL
���菴�������errno
�����祉����������障����� ��ŝ�若����潟����������潟����˨�勖�違�˨�壠��茖���勐�狗�������������������������������������壔�ŝ�若����潟����� �����<�ゃ�˨�勖�違�勐�狗��������篏������������������障����� - �����勐�狗�����莇�������NULL
���菴����������������errno
��壔�祉�������������障�������� - PerlIO_reopen(path,mode,f)
-
��������夌憜����勉�������� 3 ��ゅ����⓾�勐��茖����絖���������⓾����障��������perl ��ʃ昆��壔�������� 篏帥�c�⓾����障�������� perl ���篏帥�c�⓾����ŝ����勉�с����������˨����鴻����������⓾����障��������
Perl ��壠����������� PerlIO ��˨����c�☖戎��������⓾�����荐�菴医����������������違�����篏���㋘���� 荐�菴医�����
dup
���������������絅純�帥�障����� ��������壠����ャ����勰�∽�違�勖�壔����������˨�ŝ����������������障�������� - PerlIO_printf(f,fmt,...), PerlIO_vprintf(f,fmt,a)
-
fprintf()/vfprintf() ��◐��箴<�с�����
- PerlIO_stdoutf(fmt,...)
-
��������� printf() ��◐��箴<�с����� printf ��壔����勰�∽�違��絲障����� #define �����ŝ�c�⓾����障����������� (�憝����鴻�с��) Perl ��勉�純�若�鴻�潟�若��筝㏍��
printf(fmt,...)
����������������� ���羈���с����� - PerlIO_read(f,buf,count), PerlIO_write(f,buf,count)
-
fread() ��������� fwrite() ���絲上��������罘���純�������<�障��������綣���違� 菴������ゃ�夌�違�ŝ����障����� PerlIO_read() ��� PerlIO_write() ��勉�激�違�������c�壔��篁c�������˨�������障������� 篏���㋘����˨�� read() ��� write() ��勰�∽�違����≪����˨�˨����⓾����障��: "file" 綣���違�壩��������羝<��������count" ��� 1 ��ゃ�������с��菴������ゃ�壔����í�若�
EOF
�����у�阪�ャ�с����障����������������˨�壔����ゃ����˨�⓾�潟��(��若�㏍��罩c�勖�違�с��)���菴������������í�惹����˨�虁����勖�違�� 菴�������
errno
�����祉����������障����� 絎�茖���˩��絖������⓾�����������篏������激�違����˨�т賢��㏍�������翫�����errno
���EINTR
�� ��ŝ����������������障�������� - PerlIO_close(f)
-
絎�茖���˨����c�⓾�壔�����篏������激�違����˨�т賢��㏍�������翫��
errno
���EINTR
�� ��ŝ�������������������障����� - PerlIO_puts(f,s), PerlIO_putc(f,c)
-
fputs() ��������� fputc() ���絲上�������障����� ��������勐����違�˧��file��������ャ������������������� 羈���������⓾��������������
- PerlIO_ungetc(f,c)
-
ungetc() ���絲上�������障����� ��������勐����違�� "file" �����ャ��������������������羈���������⓾�������������� 罨<�勤˛��粋昭��炊��篏���с����ゃ�� c ���菴�������������羣���������障����� ��������� "character" ������腓冴����⓾����������勉�̹�≪�����������0..0xFF ��勛����蚊�勐�ゃ�勉�帥�� 絎�臂í�������⓾����障����� ��������˨�壔����ゃ�� c �����������í�惹����˨�� -1 (
EOF
) ���菴���������障����� �����若��菴������������������с����������ゃ����違�夌�違�ŝ����障��; 1 ���絖������������������勉�夌∈絎���с�� 緇���c�⓾����潟����˨�����茯㏍�粋昭���������緇���勖��絖������������������������с����� - PerlIO_getc(f)
-
getc() ���絲上�������障����� ��������� c �����������障�������������ゃ����勛����� 0..0xFF ��˨�勉�水嚳綽������⓾����障����� 茯㏍�粋昭���������絖������������í�若�勐�翫����� -1 (
EOF
) ���菴������障����� - PerlIO_eof(f)
-
feof() ���絲上�������障����� �����潟����˨�������<�ゃ�˨�勖��緇������í��������腓冴����������純��菴������障����� 腴壩�˨�������ゃ�鴻�с�壔��絎�茖���˩��絖������⓾����������� "sticky" ��������������障����������� ��������с�壔�ŝ����������������障�������� �����í�違�� PerlIO_seek() ��� PerlIO_rewind() ��цВ��ゃ�������障�����
- PerlIO_error(f)
-
ferror()���絲上�������障����� �����潟����˨�� IO �����í�若�������������í�������������遵�ゃ�ц�������障�����
- PerlIO_fileno(f)
-
fileno() ���絲上�������障����� 筝������勉����í����������í�若����˨�������⓾�壔�����fileno����� �����潟�����������������UNIX�����奝�����������������������羈���������⓾�������������� Returns -1 if the handle has no open descriptor associated with it.
- PerlIO_clearerr(f)
-
clearerr() ���絲上�������������鴻����ŝ�若�������� 'error' ��� (��勰�����) 'eof' ��������c�� �����í�違����壔�ŝ�≪����障����� ��ゃ��菴������障��������
- PerlIO_flush(f)
-
fflush() ���絲上�������障����� �����������<�ŝ�潟�違����������吾��莨若�帥����若�帥�������<�ゃ�˨�̹�������障����� 綣����
NULL
��у�若�喝�冴����������ŝ�若����潟����⓾����������⓾�勉�鴻����ŝ�若����� �����í����激�ャ����障��(USE_STDIO 絎�茖���˨�壔�潟�≪����潟�������������勉����������障��)��� 茯㏍�粋昭��水�������с�ŝ�若����潟����⓾��������������緇���勖��篏������ŝ����������勤˛��粋昭��帥�с����� �����潟����˨�у�若�喝�冴��������USE_STDIO 絎�茖���˨�壩�ɱ��臂í�勖�壔�������������ŝ�������勉�� ��������障����� USE_PERLIO (絮�) 絎�茖���壔�������������壔�������������������障��:NULL
���羝<���������� ��ŝ�若����潟����⓾����������⓾�勉�鴻����ŝ�若����������í����激�ャ����������������<�勌賢�������憜���� 茫����篏�臀勉�˨����潟����˨����激�若�壔�������������с��茯㏍�粋昭��帥�鴻����ŝ�若����勉����若�帥�� 膓㊥�������������������障����� - PerlIO_seek(f,offset,whence)
-
fseek() ���絲上�������障����� �����������<�ŝ�潟�違����������吾��莨若�帥����若�帥��絲上�������������<�ゃ�˨�̹����������� �����������<�ŝ�潟�違�����茯㏍�粋昭��帥����若�帥�������⓾�⓾�������������<�ゃ�̬��菴医����勌��臀勉�� <offset> ��� whence ��ф��絎������������贋����˨����障��(��激�若�壔����障��)��� ��������壠����������潟����˨�勤˛��粋昭��帥����吾��莨若�帥����������帥�������������˨�������鴻�� 罩c�������������с��(筝�菴違�� PerlIO_flush() ��勐�馹���������с����⓾�����������)��� offset ��� perl ��� Configure ��ゃ�с�����
Off_t
�����с��stdio ���off_t
����� ��違�ŝ����������������障�������� - PerlIO_tell(f)
-
ftell() ���絲上�������障����� �憜����勉����<�ゃ�˩��臀勉����������í�若�勐�翫����� (Off_t) -1 ���菴���������障����� ��激�鴻�������潟�若�˨�������榊�������ŝ�������<�ゃ�̬��菴医����勉����с����壔�ŝ����˨����激�鴻�������� �����ャ�c�⓾����������ゃ��菴������������������障�������� (緇���c�⓾����掩�������<�ゃ�̬��菴医����с�勌戎�����壔��PerlIO_seek() ��ŝ����с� 絎������с�壔�������障�����)��� 菴������ゃ�� perl ��� Configure ��ゃ�с�����
Off_t
�����с��stdio ���off_t
����� ��違�ŝ����������������障�������� - PerlIO_getpos(f,p), PerlIO_setpos(f,p)
-
������������ (紊с�障�����) ftgetpos() ��� fsetpos() ���絲上�������障����� stdio ���Fpos_t ��◒����c�⓾�������������壔��Perl ��鴻�˨�ï�ゃ�����羝<����������������� ��喝�������⓾����障����� ��������т��絖���������������勉�壠��������荀������ŝ�������勉����帥�ŝ�������障����� �����若�帥�勉�㋘�ゃ�≪�⓾����壔����潟����˨�˨����c�⓾����障����障�с����� stdio ���篏帥����ŝ����翫�������������í����������í�若����� stdio ��若�喝�冴����������c�⓾����ŝ�� ��翫����˨�壔����������勰�∽�違�� PerlIO_tell()���PerlIO_seek() ��˨����c�☗��茖���������障�����
- PerlIO_rewind(f)
-
rewind() ���絲上�������障����� ��������壩�勰��篁ヤ����勉��������絎�臂í�������⓾����障��:
PerlIO_seek(f,(Off_t)0L, SEEK_SET); PerlIO_clearerr(f);
- PerlIO_tmpfile()
-
tmpfile() ���絲上����������≦�� PerlIO (�����í�惹����� NULL) ���菴������障����� ��激�鴻�������壔����<�ゃ�˨����壔�㏍�若�冴����������◑�ɱ�������˨����<�ゃ�˨�������ゃ����������������障����� Unix ��с�壔�������<�ゃ�˨�壩�勰��篏���������������翫�����
unlink
�����������勉�с����í�������c� ��壔�㏍�若�冴�������������壩����˨�������障�������� �����勌����勉�激�鴻�������с�壔�������<�ゃ�˨�� PerlIO_close() ��ч�������������������������㏍�違�í�����exit
��х��篋������������������˨�勉�水����ゃ�������障����� 絎�茖���˩��絖������⓾��篁���勉����㏍�祉�鴻�������勉����<�ゃ�˨�˨�≪�壔�祉�鴻�с�������������� ���腴九����>散������莎激����������障��������筝���㋜����˨�壔����勐�顔�������勌��腟���帥�������������勖�鴻�� ������絎������с����������� - PerlIO_setlinebuf(f)
-
��������� setlinebuf() ���絲上�������障����� ��ゃ��菴������障�������� 篏�������茵�������罕���������������壠��茖�箴�絖���с����������勰����� "\n" �����吾����������������<�� �����í����激�ャ����障����� "this\nthat" ��勉�������ŝ����勉��絲障����☖�����莎激����������壚�����腆冴�с����� (Perl core ��� "dumping" ��� $| ��勤�ɱ�������í����激�ャ� ��≫�������⓾����ŝ�� ��������˨�勉�� ���������篏帥����障��)���
(stdio �����勐�怨��)
PerlIO ��� stdio �����勐�怨�������泣����若����������������勉�≪�⓾����í�ゃ�潟����������障����� PerlIO ��� stdio ���篏帥�c�☗��茖���������⓾�������勉�с�������違����������������馹���壔�������障�������� �����������������勌����勐�翫����с�� stdio ��若�喝�冴�����篏帥����������������í�ゃ����í�ŝ�潟�若���� 羝<�������������с����� FILE * ���篏����������罘�罕������ŝ�������違�ŝ����障��������
��������勉�鴻����������壚札筝���勤�����菴遵����������������с��:
#define PERLIO_NOT_STDIO 0
������������ perl ��������������<�ゃ�˨����ゃ�潟�壔�˨�若�������� ��� ��̬�������障����� (��������壔����������������������鴻�с�������í�˨����˨�ŝ����障�����) ��������˨����� "perlio.h" ��� stdio ��� PerlIO ��∽�違�� #define ��������������������勉�� 絋������障�����
XS ��潟�若����壔�������� FILE * 綣���違����喝�������⓾�������ŝ�����������������"typemap" ��� 篏帥�c����祉�������������с����������� 罔�羣���� typemap ��壔�������勐�������с�勉�����������紊���眼������偗�������������̬Ě��眼�������障�����
- PerlIO_importFILE(f,mode)
-
FILE * ������ PerlIO * ���緇������勉�˩戎�����障�����
mode 綣���違�� fopen/PerlIO_open ���羝<�����������絖������с�������鴻����с����� ��������������� NULL ��ŝ�� - ��㋘�㋘�激�若�泣����若����勉�������� - ��潟�若���� (�����í����������í�若�����絎�茖���˩��絖�������) f �����ŝ�若����潟����������≪�若�����腟�薑������ 羆阪��������������������������茯㏍�炊�吾����鴻����ŝ�若�����腓冴����������� "r+" ���篏帥�������障�����
筝�綺☗�若�喝�冴�������������������� FILE * ��虁����������� PerlIO * ���
PerlIO_close()
��� ��若�喝�冴����������˨����c�� ��勉�� ��壔�㏍�若�冴����������鴻����с�����PerlIO ��壔����㏍�鴻����≪�若����˨�祉�������������障����� ���������絽���������⓾�������≪�若����с�ŝ����翫����壔��PerlIO_binmode ���篏帥����障�����
��������� PerlIO_exportFILE() ��勰�� ��с�壔�������障����� ���
- PerlIO_exportFILE(f,mode)
-
PerlIO * ������������ANSI C ��� stdio.h �����宴�˨�潟�潟����ゃ�˨����������ŝ�潟�壔�������� �����������喝�������������潟�若�����羝<����勉�̹�í�������������ゃ����c�������� FILE * 罕����篏���� 篏���������障����� mode 綣���違�� fopen/PerlIO_open ���羝<�����������絖������с����� ��������� NULL ��勐�翫����� - ��㋘�㋘�激�弱嚳綽���勉�������� - FILE * ��� PerlIO * ��������� ��≪�若����с�ŝ�若����潟����障�����
���export������������ FILE * ���(���絽吾�壩�違����� :stdio ���絮ゃ����� PerlIO * �� ��������激�ャ��������������)荐���蚊��������������篁ュ����勉�ŝ�ŝ�吾����˨�� PerlIO * ���絲障����� PerlIO ���篏����綵演�帥�������若���櫝�醇�с����������障����� PerlIO * �����勰�∫�d��������茹i�ゃ��������������
PerlIO_releaseFILE()
��� ��若�喝�冴��������fclose()
�����若�喝�冴����鴻����с�壔�������障�������� (��∫�d�������勤В��ゃ�勉�������� PerlIO_importFILE() ���篏帥�c�⓾�壔�������障��������)�����勰�∽�違��茲���医����若�喝�冴����������若�喝�冴��罸���� FILE * ���篏���������障��(�������� 罸���� :stdio 絮ゃ�˨�������激�ャ����障��)���
- PerlIO_releaseFILE(p,f)
-
PerlIO_releaseFILE ��壔��PerlIO ��˨����鴻�⓾��FILE * ��勌戎������絎�篋���������������� ��ャ�������障����� 絎�篋������������勉�壎��export������������ FILE * ��勉�ŝ�鴻�������������ゃ�������障����� ��������⓾����������̥����割�������������⓾����� PerlIO * ��壠�������勖�壔�������������祉����障�����
PerlIO_exportFILE() ���篏帥�c�� PerlIO * ��̥����割�������������������<�ゃ�˨�� �����≪�������������˨��������篏帥����障�����
- PerlIO_findFILE(f)
-
stdio 絮ゃ�т戎��������������ゃ����c����� FILE * ���菴������障����� �����������������ŝ�������違��PerlIO_exportFILE ���篏帥�c�☖�������������障����� ��í�<����勐�翫����с�����FILE * ��� PerlIO ��泣����激�鴻��������緇������◑��������������
PerlIO_close()
�����若�喝�冴����������˨����c�⓾�勉�帥�壔�㏍�若�冴����������鴻����с�����
("Fast gets" ��∽��)
筝�菴違�����罔�羣�蘂���� API �����������⓾��perl ��� PerlIO ��勐�������ф�宴����������� ��с�������������˨��������絎�茖������ゃ�潟�帥�若����с�若�鴻����������障����� 篁ヤ����������������若�喝�冴����壔�������������� Configure (�����������壔����勌����勐��茖���с� ��������◐��箴<�ŝ�����) ��у��臂í�������� FILE_xxx �����壔�㏍��絲上�������⓾����障����� �����勉�祉�壔�激�с�潟�с�壔��perl-core ��勖�壔����������勤¼膣違��PerlIO ��勉����������潟�違�勐��茖���� ��障�� perl �����������������号����� IO ��激�鴻�������˨����c�☀����������⓾����� ������茵�茯㏍�粋昭��帥�����篏帥�������������ŝ�潟�若�������吾����������˨�ゃ����⓾�勉�炊絵��勉����障����� �����������勉�ゃ�潟�帥�若����с�若�鴻��篏帥����潟�若����壔�������������潟����˨������������� 絲上�������⓾����ŝ����ŝ�����篌�腟援����ʋ�号����ф����������⓾����鏆�荀������������������ 羈���������⓾��������������
- PerlIO_fast_gets(f)
-
������絎�茖�������絽吾�� IO 罘�罕������������帥����������������� perl ���
sv_gets
��� 篏帥�������������̬��羆���������������⓾�勉�ゃ�潟�帥�若����с�若�鴻�������c�⓾�������ŝ��������菴������障����� ��������壔����潟����˨�˨����c�☎�違�ŝ���櫝�醇�с����������障�����PerlIO_fast_gets(f) = PerlIO_has_cntptr(f) && \ PerlIO_canset_cnt(f) && \ `Can set pointer into buffer'
- PerlIO_has_cntptr(f)
-
��������������≠��筝㏍�勉�˨�㋘�潟�������吾�激�с�潟�吾�勉����ゃ�潟�帥�若�������������<�˨����� �����ゃ����違��菴������������勉�с�����絎�茖���с����� ���������篏帥����ŝ����с����������� - PerlIO_fast_gets ���篏帥�c�⓾��������������
- PerlIO_get_cnt(f)
-
�����������>賢��勤˛��水�冴����������勉�с����������ゃ����違��菴������障����� 0 ���莢���違��菴����������������茯㏍�水�冴����ŝ����������������潟����障�����
- PerlIO_get_ptr(f)
-
�����������>賢��˨�����罨<�勤˛��水�冴���櫝�純����ゃ����吾�勉����ゃ�潟�帥�若��菴������障��; �����ゃ�潟�睡����宴�勉�≪�壔�祉��(�����ŝ����<�㋘�潟��)��壔��PerlIO_get_cnt() ��� 罩c�勖�違��菴���������翫����˨�勉�水�������с����� PerlIO_get_cnt() ��ц�������������や札筝���勖③��勖�違�勉�ŝ����祉�������勉�帥��篏帥����障�����
- PerlIO_set_ptrcnt(f,p,c)
-
�����ゃ�潟�帥�若�������������<�˨�祉����������������������<�˨����������ゃ����違�壔����勉�障�障�с����� 篁ュ�����
PerlIO_get_ptr
���PerlIO_get_cnt
��勐�若�喝�冴�������� �ィ羝㋘��������膀���峨����勉����ゃ�潟�帥�若����祉�������������������勉�帥�˩戎�����鴻����с����������� 2 ��ゃ�勐�ゃ�壚�������� 筝�莢˨����⓾����ŝ�������違�ŝ����障����� (絎�茖���壔�í�<����������鴻��������篏帥����������������障�����������筝≧�鴻��綽�荀���������������障�����)��� - PerlIO_canset_cnt(f)
-
�����������<�˨����������ゃ����違��茯炊�眼�������������勉�с�����絎�茖���с����� ��������壚戎�����ŝ����с����������� - PerlIO_fast_gets ���篏帥�c�⓾��������������
- PerlIO_set_cnt(f,c)
-
筝������� - �����������<�˨����������ゃ����違����祉����������障����� ����ィ絅���с����� PerlIO_canset_cnt() ��夌�����菴������翫����˨�勉�水�ñ����с����障����� �憜����������壔��doio.c ��с�勉�� -1 ��ʋ����� count ��� 綣桁�句����� -1 ��˨������������� 篏帥�������⓾����障����� ������������ PerlIO_set_empty �����������̹�������������勉����������鴻����с����������� �����勐�若�喝�冴����壔�����count�����������ゃ�潟�帥�若�����limit���������絨������冴����������翫����˨� 絎������˨�壔�ŝ�˨�������障�������� ��������壚戎�����ŝ����с����������� - PerlIO_set_ptrcnt() ���篏帥�c�⓾��������������
- PerlIO_has_base(f)
-
絎�茖���������������<�������c�⓾����⓾�������������≦��篏���吾�勉����ゃ�潟�帥�若�������勐ぇ��������� 菴���������������с�������ŝ��������菴������障����� -T/-B �����鴻����勉�������� perl ��˨����c�☖戎��������障����� �����勉�祉����勉����勉�奝��絽吾�˨�壔�c����������ŝ��綵≪�т戎��������障����
- PerlIO_get_base(f)
-
�����������<�� ���紮�篏�臀� ���菴������障����� �����������<�勌賢��с��PerlIO_get_bufsiz() ��ц�������������や札筝���勖③��違�勉�ŝ����祉������� ��勉�帥�≪�壔�祉�鴻�с����障�����
- PerlIO_get_bufsiz(f)
-
�����������<�� ���荐������ゃ����� ���菴������障��; ��������虁˛��粋昭��水櫝�純�ʋ�違����������������<����蚊��綵���⓾����������<�≪�ʒ����с�壔�������障�������� ���������������緇���� I/O ���荀�羆������������������� OS ��� 絎�茖����
read()
(����������� �����勉�������ŝ�����) ���茵���c�������勉�с�����
(�����勌����勰�∽��)
- PerlIO_apply_layers(f,mode,layers)
-
USE_PERLIO 絎�茖���吾�勖�違�������ゃ�潟�帥�若����с�若�鴻�с����� ":crlf" ��� ":raw" ��勐韻��壔����勌����勐��茖���с�壚����ゃ��������荐怨檽�������������������壩��藥��� ��∴����������障����� (perl5.8 ���������":raw" ��奝���ィ絅���с�����) 腱紙����с����馹���˨�ŝ����翫����壠��菴違����� PerlIO_binmode() ���篏帥�c�⓾��������������
- PerlIO_binmode(f,ptype,imode,layers)
-
perl ���
binmode
羲�膊�絖���т戎�����������������壔�с����� ptype ��壠�ュ�阪����勛┏蕁����腓冴�� perl ��勖��絖���с��:- '<' read
- '>' write
- '+' read/write
imode ���
O_BINARY
���O_TEXT
��с�����layers ��奝�ñ�����������絮ゃ�勖��絖������с��USE_PERLIO 篁ュ����勐�翫����с�� ":crlf" ��勉�帥�� �����潟�������<�障����� (perl5.8 篁ラ�����":raw" ��奝���ィ絅���с��NULL ���羝<�����������絅純�障����障�����)
腱紙����с�勉�������翫�����:
PerlIO_binmode(f,ptype,O_BINARY,NULL); and PerlIO_binmode(f,ptype,O_TEXT,":crlf");
Unix ��с�壔����������勐�若�喝�冴����壔����������鋎���勐�号�������������障�������� ������篁ュ����с�� "\n" ��� CR,LF ���紊������������劫�ャ�ŝ����㏍�鴻����������<�ゃ�̥��腴壔�����腓阪����� 茯㏍�炊�吾�������˩戎�����障����� �����潟����˨��絲障����� I/O ���茵���c��緇������若�喝�冴�������翫����勐�号����壠��茖���˩��絖������障����� (��∴�������������������������障�������������≪�˨����������<����ャ�c�⓾����������若�帥�˨�� ��ñ�������������������������障�����������篁ュ����勉����若�帥�˨�������ñ�������������������������障��������)
- PerlIO_debug(fmt,...)
-
PerlIO_debug ��壔�������������違�˩戎������ printf() 蘂���勰�∽�違�с����� 菴������ゃ�壔�������障�������� 筝祉�ɾ�◒����壔��絎� printf, warn() ��ŝ�í��篏帥�c�⓾����� PerlIO ��勐�������с��PerlIO �� ���絽医�若�喝�冴�������馹���˨�ŝ����������ŝ����������с�����
PerlIO_debug ��� $ENV{'PERLIO_DEBUG'} ��ф��絎���������������<�ゃ�˨����吾��莨若�帥�障����� ��後�������ŭ戎�����鴻��:
Bourne shells (sh, ksh, bash, zsh, ash, ...): PERLIO_DEBUG=/dev/tty ./perl somescript some args Csh/Tcsh: setenv PERLIO_DEBUG /dev/tty ./perl somescript some args If you have the "env" utility: env PERLIO_DEBUG=/dev/tty ./perl somescript some args Win32: set PERLIO_DEBUG=CON perl somescript some args
$ENV{'PERLIO_DEBUG'} �����祉�������������⓾����ŝ����翫����� PerlIO_debug() �� 篏���������障��������