If you are running from DOS everything is ok as this looks like:Ĭ:/perl/bin/perl.exe d:/parris/perl/Ĭ:/perl/bin/perl.exe /cygdrive/d/parris/perl/Īnd Perl balks with "no such file" because it can't resolve this pathname. When you try to run a script relying on the #!c:/perl/bin/perl.exe syntax to specify the program that should process the script the shell (in this case cygwin's bash) effectively executes a command like:Ĭ:/perl/bin/perl.exe absolute_script_name The very quick work around which I used for a long time was to always call perl scripts with absolute, windows-style path names (so cygwin does no conversion.) That is:ĭoesn't, even though d:/parris/perl is in the path. ActiveState's perl does not understand this UNIX style names.
#Cygwin tutorial cygdrive windows
The problem basically boils down to the fact that cygwin attempts to offer a UNIX like file-system structure where absolute path names start with / instead of a windows style (e.g. The cygwin folks also recommend getting a cygwin implementation of Xemacs. I had already invested time in building my tools based on ActiveState (which has a richer set of add-ins, like modules). This page offers some tips on getting ActiveState's PERL to work within a cygwin environment.įirst, many folks recommend using a cygwin version of Perl if you are going to use cygwin as it avoids some of the problems I have addresed below. Many are also using cygwin to have a UNIX-like environment. Some of us are using PERL on our Windows boxes to process data, etc.