Subject: | Don't trust the execute bit in Cygwin |
Even with some of Cygwin's attempts at mapping Win32->UNIX permissions, using Perl's "-x" in Cygwin isn't very reliable. However, Cygwin does clean up the path to use ':' (which is correctly reported in Config), and more or less doesn't act like MSWIN.
Thus, in your Whence sub (the else part), it should check for ($^O =~ /cygwin/i) and skip the execute checks in that block.