in reply to OS-dependent dependencies

Firstly, you would want PREREQ_PM in the WriteMakefile() section of the Makefile.PL to include Win32::Fmode if and only if $^O =~ /mswin32/i. Then near the beginning of the module (.pm file) you can have something like:
if($^O =~ /mswin32/i) {require Win32::Fmode}
You can then access the Win32::Fmode functions by their fully qualified names. Whenever you wish to determine the read/write status of a filehandle you can do something like:
if($^O =~ /mswin32/i) { # employ the Win32::Fmode functions } else { # employ the Fcntl flags/macro }
Cheers,
Rob