Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Avoid headaches from Strawberry Perl 5.10.0 and binary SVK

by xdg (Monsignor)
on Jan 09, 2008 at 15:38 UTC ( [id://661381]=note: print w/replies, xml ) Need Help??


in reply to Re: Avoid headaches from Strawberry Perl 5.10.0 and binary SVK
in thread Avoid headaches from Strawberry Perl 5.10.0 and binary SVK

Supposedly the .bat file resets the PATH afterwards -- but maybe it doesn't in some cases (non-zero exit?). Here's the original:

@echo off set APR_ICONV_PATH=C:\Program Files\svk\iconv set OLDPATH=%PATH% set PATH=C:\Program Files\svk\bin;%PATH% if "%OS%" == "Windows_NT" goto WinNT "C:\Program Files\svk\bin\perl" "C:\Program Files\svk\bin\svk" %1 %2 % +3 %4 %5 %6 %7 %8 %9 goto endofperl :WinNT "C:\Program Files\svk\bin\perl" "C:\Program Files\svk\bin\svk" %* if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have SVK installed correctly. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul set PATH=%OLDPATH% set APR_ICONV_PATH=

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Replies are listed 'Best First'.
Re^3: Avoid headaches from Strawberry Perl 5.10.0 and binary SVK
by BrowserUk (Patriarch) on Jan 09, 2008 at 16:33 UTC

      No idea. I didn't write it. Maybe someone thought it would help in finding the DLL? (Superstition, I think.) Certainly, my hack of renaming and stripping all the PATH munging out seems to be working just fine.

      -xdg

      Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

        Maybe someone thought it would help in finding the DLL? (Superstition, I think.)

        You're probably right. Unfortunately there are lots of these "belt and braces" superstitions floating around in the Win32 Perl distributions, makefiles etc.

        There have been several variations in the DLL search path ordering over the years, and they recently added a new one, but in all cases, the first place looked at is the directory from which the executable requiring the DLL, was loaded. That has remained constant. That's another reason it would make sense to place the dlls created by compiled XS packages into the <perl>/bin directory.

        And these bat file wrappers create far more problems than they solve. I never use them personally. I just do not consider the single advantage they have to be worth all the other problems they create.

        I've had a couple of attempts over the years to see what if any of this cruft could be eliminated. But the reasons why things were done these ways is lost in the annals of history and so you can never be sure that if you remove/change something that you won't be breaking some obscure dependancy for someone, somewhere. And with backward compatibility given such a high priority...


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://661381]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2024-04-24 04:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found