This is the mail archive of the cygwin@cygwin.com 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]

backslashes and perl


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@yahoo.com]
>Sent: Friday, May 04, 2001 3:57 PM
>To: cygwin@cygwin.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


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