in reply to finiding the os type

It looks like you are trying to use your environment variables (OSTYPE, TERM) directly. In order to get to the environment variables that you want, you need to use the %ENV hash. This hash contains all of your environment variables. Just supply the environment variable name as the key to the hash to get the value.

So, your first line would look like:

if (( $ENV{OSTYPE} eq "cygwin" ) or ( $ENV{TERM} eq "cygwin" )) Enjoy.