This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]