Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • This doesn't work too well if your platform doesn't use "/" for a path separator. For example, if you're using Windows, you should use "\"

    At least on Win32 with ActiveState ActivePerl, chdir('/some/where') works fine. About the only place on Win32 that / doesn't work mix-and-match with \ separators is in the File Open / Save Dialog (and a few other 16-bit hold over system calls; it depends on which file-open API a program uses whether it can accept /path/file args on its commandline; most prefer the ne

    # I had a sig when sigs were cool
    use Sig;
    • About the only place on Win32 that / doesn't work mix-and-match with \ separators ...

      Plus anytime you use File::Spec with several other modules that require a '/' path delimiter. In fact can anyone who writes module for CPAN, please remember that File::Spec and File::Find are ONLY compatible on Unix like systems. There have been several modules that have failed CPAN testing because of it.

      • I'm not sure I understand you here Barbie. Are you saying that I shouldn't use File::Spec because some other modules require '/' as a path seperator? Surely it's *those* modules that are broken, not my use of File::Spec.

        Can you give us some examples of modules that use '/' as path seperators?

        • File::Spec and File::Find are the most common examples where misunderstandings arise, they most likely happen elsewhere. It's not so much that you can't use them together, it's the fact that care must be taken if your code is to be used on platforms other than Unix style OSs.

          Say for example you use File::Find to find a list of files, you then store them in a hash as keys. Later you use File::Spec to build a file path, and verify whether the file exists in the hash. On Windows the file will never be found