as it decouples IO from the way the operating system and C library
choose to do things. For USE_PERLIO PerlIO * has an extra layer of
indirection - it is a pointer-to-a-pointer. This allows the PerlIO *
-to remain with a known value while swapping the implementation arround
+to remain with a known value while swapping the implementation around
underneath I<at run time>. In this case all the above are true (but
very simple) functions which call the underlying implementation.
Return C<NULL> and set C<errno> if there is an error. There may be an
implementation limit on the number of open handles, which may be lower
than the limit on the number of open files - C<errno> may not be set
-when C<NULL> is returned if this limnit is exceeded.
+when C<NULL> is returned if this limit is exceeded.
=item B<PerlIO_reopen(path,mode,f)>
FILE * which can be passed to library code which is going to use stdio
calls.
-The fisrt step is to add this line:
+The first step is to add this line:
#define PERLIO_NOT_STDIO 0
=item PerlIO_binmode(f,ptype,imode,layers)
The hook used by perl's C<binmode> operator.
-B<ptype> is perl's charcter for the kind of IO:
+B<ptype> is perl's character for the kind of IO:
=over 8
PerlIO_debug writes to the file named by $ENV{'PERLIO_DEBUG'} typical
use might be
- Bourne shells:
+ Bourne shells (sh, ksh, bash, zsh, ash, ...):
PERLIO_DEBUG=/dev/tty ./perl somescript some args
- Csh:
+ 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