develooper Front page | perl.perl5.porters | Postings from November 2000

Re: PerlIO - what next ?

Thread Previous | Thread Next
Nick Ing-Simmons
November 9, 2000 02:06
Re: PerlIO - what next ?
Message ID:
Benjamin Stuhl <> writes:
>P.S. PerlIO really has enough separate components it might
>be worth putting it into its own subdirectory. 

Maybe. I really only has iperlsys.h and perlio.c right now.
But needs to be bundled too.

>It also
>might be worth making perlio.h not just be '#include

Sure - once we have separately compiled layers then the struct 
at least needs to be visible at least as an option.
This should probably happen very soon now.
The reason I did not do it straight away is that 
perlio.h/iperlsys.h/perlsdio.h/perlsfio.h have got rather 
entangled and I want to be sure that any bugs where in perlio.c
and not in the unravelling of those.

The reason it changed from perlio.h to iperlsys.h was for ActiveState's
"perl host" scheme. It makes some sense still as potentially at least 
we need to be able to make "read/write/lseek" "virtual" on things
like Win32. We still need them for sysread() etc. but we don't
want them to call MS's (or Borland's) C runtime as that is where 
the problems/differences lie.

>I'm starting to look at porting PerlIO to

I had my ideas on that in mind while developing the stuff.
Please at least discuss your ideas with me.
Having someone else code it is most attractive, but I have a few 
historical "gotchas" to pass on.

>and it would be much easier if each layer was its own
>source file (keeps me from having to create an #ifdef WIN32 morass).

If done "right" it should be "no worse" than the MMAP 'morass' in perlio.c
i.e. one #ifdef to enable/disable the define_layer and 
a bigish block inside another #ifdef with the layer code.

But indeed it should be a separate file under win32/...

Nick Ing-Simmons <>
Via, but not speaking for: Texas Instruments Ltd.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About