Mail Archives: cygwin/2003/06/28/14:47:29
Brian Dessent <brian AT dessent DOT net> wrote around 28 Jun 2003
news:3EFDDF97 DOT 29F49125 AT dessent DOT net:
[Soren A.:]
>> I am trying to finish a test script that uses ActivePerl to call
>> `cygpath` from itself (a system call, by open()-ing a pipe to capture
>> the output of the tool ...
>>
>> {... stuff ...}
>> open(CTH, '-|', "C:/cygwin/bin/cygpath $MS_path_filename")
>> or die "Could not open() call to 'cygpath', what is up?";
>> $cygstyle_path = <CTH>;
>> chomp $cygstyle_path;
>> {... stuff ...}
>
> If $MS_path_filename is indeed a regular Windows filename (with
> backslashes) you will need to either use quotemeta() or s!\\!/!g
> because singular backslashes will be removed during interpolation.
I know this. Already checked that what's being fed into `cygpath' is
kosher.
I've spent 4+ hours debugging this script.
> Here's a little thing I cooked up that I find very useful, I call it
> dodos. It lets you run any DOS/Windows program and call it with unix
> arguments. For example, you could type "dodos notepad /etc/aliases"
> or "dodos notepad /etc/hosts.*" and you'd get what you expect.
>
> #!/usr/bin/perl -w
>
> my @newargs = $ARGV[0];
>
> foreach my $arg (@ARGV[1..$#ARGV]) {
> my $foo = quotemeta($arg);
> $foo = `cygpath -wsa $foo 2>/dev/null`;
> chomp $foo;
> push @newargs, $foo;
> }
>
> exec @newargs;
>
Heh. Looks like a candidate for a Schwartzian Transform, or the Orcish
Manuever, or something :-/. But good anyway. I'll add it to my toolset.
--
"So, tell me, my little one-eyed one, on what poor, pitiful,
defenseless planet has my MONSTROSITY been unleashed?"
- Dr. Jumba, Disney's "Lilo & Stitch"
OpenPGP Key at http://savannah.gnu.org/people/viewgpg.php?user_id=6050
--
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/
- Raw text -