http://qs321.pair.com?node_id=906080


in reply to Re^4: Darwin and File::HomeDir
in thread Darwin and File::HomeDir

Short-name alias to "Program Files" already exists, and might be called PROGRA~1. That's where I installed. It sets entries to where its stuff is, using that string. But running something from the command line still sees the name "Program Files" unless you change the current working directory to the short alias explicitly first; programs that are smart and look up their actual location using the Win32 API get the real name, and perhaps other things.

Point is, it does not always work, and I've given up trying to put ActivePerl in a location other than directly under the root. Even then, it's a royal pain if a module is not already in their special repository, and if it's not pure Perl, you can forget it.

That's my experience from pre-release days when the company was called HIP, through around 5.6 when I stopped trying to install it other than where it likes to put it. In the early days I suggested that the installer simply use the short-name alias of the normal path or whatever path the user chose, and they told me directly that it's still not good enough which is why they still put it off the root.

Replies are listed 'Best First'.
Re^6: Darwin and File::HomeDir
by ikegami (Patriarch) on May 22, 2011 at 04:45 UTC

    Short-name alias to "Program Files" already exists, and might be called PROGRA~1.

    I tried that. It didn't work well. The path would get expanded at times, and end up in the hands of something that couldn't handle the spaces.

    Point is, it does not always work

    I can personally attest that using a path other than a subdir of the root always works. None of my dozen installs are directly under the root, and I've installed thousands of modules (PP and XS, ppm and cpan). It's using a path with spaces that causes problems.

    which is why they still put it off the root.

    Like I said when you first said this, it isn't true. ActivePerl lets you choose where you want to put it. Only Strawberry Perl puts it in the root.

      I don't think you are following.

      Sure, ActivePerl lets you specify the path to install to, and you can give it some other directory name if you want. I don't doubt that it works fine if you give it something with subdirectories (not right off the root) that doesn't contain spaces or other characters that would require quoting or that have special meaning to other parts of the system. So what?

      I'm asserting that it does not work if you install to the normal "Program Files" directory or even the short-name alias to that. You seem to be agreeing with me.

      If you meant to point out that you could put ActiveState Perl in some other non-standard location, making up some subdirectory names as well, that's incidental to the point of the post, and you made it sound like you were disagreeing with my core assertion rather than just quibbling over a minor point.

        So what?

        You said it didn't. Just correcting some misinformation, that's all.

        You seem to be agreeing with me.

        I kept pointing out that I know spaces cause problems. I agree with that part.

        and you made it sound like you were disagreeing with my core assertion rather than just quibbling over a minor point.

        I quoted what I replied to. I don't know how I made it look like I was disagreeing with something unrelated. Message me if you have ideas.