in reply to IO::Socket::INET newline conversions and buffering
Thanks for the responses
almut, thanks for investigating with ltrace. I don't have ltrace on mac osx 10.4.11, so I was not able to try that out for myself. Ok, so now perl doesn't call the C stdio library to establish buffering and newline conversions. Instead, as ikegami said, perl uses its own PerlIO 'layers'. Edit: Actually, you can still direct perl to use the C stdio library if you want:
:stdioLayer which calls fread , fwrite and fseek /ftell etc. Note that as this is "real" stdio it will ignore any layers beneath it and go straight to the operating system via the C library as usual.
I'm not sure how that is useful, though.
ikegami, I'm not quite understanding what connect() has to do with which PerlIO layers are added to an IO::Socket::INET socket. Wouldn't new() be the method in which the layers were established for the socket? I don't have windows, so I can't test out newline conversions. Or, were you just checking every method to see if any of them added a newline conversion layer to the socket?
|
|---|