Re: Windows paths in glob



Martijn Lievaart <m@xxxxxxxxxxxxxxxx> wrote in news:pan.2008.03.30.19.27.16@xxxxxxxxxxxxxxxx:

On Sun, 30 Mar 2008 19:09:18 +0000, Dmitry wrote:

OK, so there's a well-known difficulty with handling Windows-style paths
in glob: it doesn't like backslashes, nor does it like spaces. One
solution to that is to use Unix-style paths:

glob('C:\Documents and Settings\*'); # Doesn't work glob('C:/Documents\
and\ Settings/*'); # Works

Problem is, the rest of Perl's built-in file-handling functionality
behaves the other way around. For instance, with -d:

-d 'C:\Documents and Settings'; # Works -d 'C:/Documents\ and\
Settings'; # Doesn't work

Question: is there any way to use the same path string with glob and
with the rest of Perl, without having to convert them back and forth?

I don't have Windows to test here, but I recall that using either a
forward slash '/' or a backward slash -- properly escaped -- '\\' works
either way in both situations.

In the examples you gave, the versions with backslashes cannot work, the
backslashes are not escaped.

M4

Spaces are a more serious problem than slashes. But anyway, the examples work,
because I used single quotes. BTW, current core glob seems to ignore backslashes
altogether, unless they escape something other than a backslash.
.



Relevant Pages

  • Re: Windows paths in glob
    ... in glob: it doesn't like backslashes, ... solution to that is to use Unix-style paths: ... I don't have Windows to test here, but I recall that using either a ... In the examples you gave, the versions with backslashes cannot work, the ...
    (comp.lang.perl.misc)
  • Re: Windows paths in glob
    ... Dmitry wrote: ... like backslashes, ... One solution to that is to use Unix-style paths: ... is there any way to use the same path string with glob and with the rest of Perl, without having to convert them back and forth? ...
    (comp.lang.perl.misc)
  • Re: Windows paths in glob
    ... paths in glob: it doesn't like backslashes, ... One solution to that is to use Unix-style paths: ... perldoc File::DosGlob ...
    (comp.lang.perl.misc)
  • Re: Windows paths in glob
    ... paths in glob: it doesn't like backslashes, ... One solution to that is to use Unix-style paths: ...
    (comp.lang.perl.misc)
  • Windows paths in glob
    ... so there's a well-known difficulty with handling Windows-style paths in glob: ... like backslashes, ... is there any way to use the same path string with glob and with the rest of Perl, ...
    (comp.lang.perl.misc)