IO::Scalar works by telling Perl that its STDOUT is not an ordinary file handle and so it has to do special processing when Perl's output functions like print try to write to it. C knows nothing of Perl's STDOUT and doesn't use Perl's output functions like print, so IO::Scalar has absolutely no affect on C code (nor on output written by child processes, etc.).
The order of the layers goes something like this: print, STDOUT, Perl's informal I/O abstraction layer, C's stdio (FILE handles), operating system I/O functions (file descriptors). The C code of SWIG is probably starting at the "C's stdio" layer but could also just be going to the Unix I/O layer of write() and file descriptors. In any case, the C code is not going to be affected by any of the layers above that.
That is, unless it went out of its way to try to use Perl's I/O routines. I doubt doing that would be easy.
- tye (but my friends call me "Tye")In reply to (tye)Re2: STDOUT and SWIG
by tye
in thread STDOUT and SWIG
by rapier1
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |