This is the mail archive of the
cygwin
mailing list for the Cygwin project.
activestate perl on cygwin
- From: "Kevin T Cella" <kcella at nycap dot rr dot com>
- To: <cygwin at cygwin dot com>
- Date: Mon, 8 Jan 2007 22:56:35 -0500
- Subject: activestate perl on cygwin
I understand the trouble with using Activestate perl on cygwin is the path
conversion problem. Searching online I found the following wrapper script
useful for most perl commands:
#! /bin/sh
# This is necessary to make perl work with cygwin. Cygwin passes
# "cygwin style" paths to the program in the #! statement and
ActiveState
# perl does not know what /cygwin/d/... means.
#
# So, we put #!/usr/local/bin/perl in the perl script and this is
called
# This routine translates the path name to something of type d:/
#
args=""
while [ $# -gt 0 ]
do
var="$1"
shift
if test "`echo $var | grep '/'`" = "$var"
then
# cygpath does the /cygwin/d/ to d:/ conversion
var=`cygpath -w $var`
# Then we have to swap \ for / (extra \ needed because the
# shell makes a first pass at removing the \.
#
var=`echo "$var" | sed 's/\\\/\\//g'`
fi
args="$args $var"
done
# Finally the command is to call perl with the name of the script
and the args.
#
/c/Perl/bin/perl.exe $args
An example of one that does not work is as follows:
perl -e 'print join "\n", @INC, "\n";'
For some reason, the script above strips the single quotes from the command
and therefore does not execute the command properly. Please advise.
Thanks,
Kevin
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/