http://qs321.pair.com?node_id=589903


in reply to [OT]: How to do fileno() and Win32::APIFile::FdGetOsFHandle() in C

To see how fileno() in Perl works, take a quick look at the pp_fileno() function in pp_sys.c in the Perl source code. Assuming your filehandle isn't tied, the steps basically are:

  1. Get the IO from the Perl filehandle passed in (or use the IO if that's what you got)
  2. Get the FILE pointer from the IO
  3. Pass the FILE pointer to fileno() to get your file descriptor.

Now, to get at Win32API::File::FdGetOsFHandle(), grep around the win32/ subdirectory for your answers. I'm afraid my Win32 skills aren't good enough to help you there.


Test your modules with bleadperl!

  rsync -avz rsync://public.activestate.com/perl-current/ .
  ./Configure -des -Dusedevel -Dprefix=/path/to/test/perl
  make test
  make install

Now, please test you modules! If you have test failures that don't happen with Perl 5.8.8, send a simplified test case to

perlbug at perl.org