Mail Archives: cygwin/2001/05/07/14:42:07
I don't think I am asking the question right-
What I really need is for the new perl to work with an NT command shell.
It used to- when I was using Cygwin B20 and Perl 5.001.
Just like I can set MAKE_MODE=win32,
I need a PERL_MODE=win32.
I want my new cygwin and new perl to accept paths
that contain backslashes, and still treat them as paths.
The NT command shell is going to pass perl a path that
contains backslashes, and I need to switch on the flag that
will make perl treat the path like a win32 path.
Thanks,
Peter
Sounds like what you really need is to make sure that your script
runs in a POSIX environment. Then you can use the /, and
everything would be okey-dokey.... There is a cygpath function
for coders, so why couldn't you create a Perl function/package
that does this, and always call it before you actually reference
your object. This function would mangle the POSIX style name
into a system specific style name based upon the runtime environment
it finds.
On Fri, 4 May 2001 16:09:06 -0400, Peter Buckley wrote:
>The thing is, this perl script used to work with perl 5.001 unofficial
>pathlevel 1m. It is just since I upgraded to perl 5.6.1 with 1 registered
>patch that I started having this problem. The script/makefile in question
>has to work on UNIX, NT, and Win2k. And backslashes are a necessity with a
>Win2k command shell. I am testing the new cygwin stuff before we start
using
>it company wide, and eventually recommend it to our customers. I would like
>to find the flag or option to perl so I can use backslashes, instead of
more
>ifdef-ing for all my variables in NT.
>
>Thanks,
>Peter
>
>-----Original Message-----
>From: Mark Paulus [mailto:commpg AT yahoo DOT com]
>Sent: Friday, May 04, 2001 3:57 PM
>To: cygwin AT cygwin DOT com; Peter Buckley
>Subject: Re: backslashes stripped in perl
>
>
>have you tried using \\ where you are using \? Perl is probably seeing
>the \ as an escape character, so you need to escape the \ to preserve
>it. You may need to play with varying levels of \ to get it right
>depending on how many downstream filters are looking at the string
>(Check out some of Don Libes discussions about backslashes in his
>Exploring Expect book)
>
>
>On Fri, 4 May 2001 15:44:28 -0400, Peter Buckley wrote:
>
>>I am passing a parameter that contains backslashes in the path to a perl
>>script.
>>I am calling the perl script from a makefile macro. The line in the
>makefile
>>is
>>
>>target :
>> $(PERL) myscript.pl $(ARG0) $(ARG1)
>>
>>And in the perl script I have the lines
>>
>>$VARIABLE = @ARGV[0];
>>cmd "$VARIABLE -o $OPTION -c $PATH/path/config1 -batch";
>>
>>When $(ARG0) is C:\path\executable.exe, I get the error
>>
>>C:pathexecutable.exe: not found
>>
>>It is stripping the backslashes out.
>>I know that it works with forward slashes,
>>and I had similar problems with make before this
>>(I found out how to set MAKE_MODE = win32).
>>
>>I have to use backslashes in the path.
>>I didn't find anything when I searched for
>>backslash perl
>>in the archives, and I didn't see an entry for perl
>>in the FSF online manuals.
>>
>>I am using the NT4.0 SP5 cmd.exe as my shell. I get this failure
>>whether I explicitly set the SHELL environment variable or
>>not.
>>
>>Thanks in advance for any help,
>>
>>Peter Buckley
Peter Buckley
C-Port Corporation, a Motorola Company
One High Street
No. Andover, MA 01845
978-773-2490
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -