Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

What Windows 64 bit traps are out there?

by davies (Monsignor)
on Sep 10, 2011 at 08:00 UTC ( [id://925219]=perlquestion: print w/replies, xml ) Need Help??

davies has asked for the wisdom of the Perl Monks concerning the following question:

I'm planning to upgrade my OS to a 64 bit version of Losedows to take full advantage of my hardware. Regular readers of my posts will know that I do a lot of stuff on Excel, and I have been unable to find Win64::OLE or anything that looks like it. Does this mean that I should use a 32 bit Perl version? Stick with a 32 bit OS? Any advice in this area would be appreciated before I do something irretrievable. I'm going to buy a new HDD today, so I'll be able to install to that & retain all my 32 bit stuff on my existing HDD, but the time will come when I will want to combine everything and I'm nervous.

Regards,

John Davies

  • Comment on What Windows 64 bit traps are out there?

Replies are listed 'Best First'.
Re: What Windows 64 bit traps are out there?
by BrowserUk (Patriarch) on Sep 10, 2011 at 08:38 UTC

    If you install a 32-bit perl on your 64-bit OS, you'll notice almost no differences at all. But you won't gain a huge amount either. Most everything you have from your 32-bit OS will still work exactly the same, but you will still be restricted to 2 GB of memory per perl process.

    Conversely, if you opt for a 64-bit perl, you'll find some things that won't work, but you'll gain access to all your physical ram per process.

    There are two main sources of incompatibility:

    • 64-bit processes cannot load or use 32-bit DLLs.

      That mean for instance, that if you currently access some (usually non-MS) program using OLE, and there is no 64-bit version of that program available, then you will not be able to access it from a 64-bit perl program.

    • If you currently use a compiled (XS) module that hasn't been updated to be 64-bit compliant, then you won't be able to download that module via PPM from AS and would have to compile it yourself. Which of course would mean solving the problems that prevent it from compiling under a 64-bit compiler. This can range from simple to neigh impossible to do.

    My personal take on it definitely go for the 64-bit OS, and seek out 64-bit versions of as many of your favourite apps as you can find. You won't regret it. Remember that pretty much every 32-bit app available will run perfectly happily under 64-bit Windows.

    Install a 64-bit perl as your main perl, but also install a 32-bit version as a fall-back for those hopefully rare occasions when you encounter a problem.

    Setting your system up to make both available is relatively straight forward. I use the file associations mechanism:

    c:\test>set pathext PATHEXT=.pl;.pl8;.com;.exe;.bat;.cmd; c:\test>assoc .pl .pl=Perl c:\test>ftype perl perl="C:\Perl64\bin\perl.exe" "%1" %* c:\test>assoc .pl8 .pl8=perl8 c:\test>ftype perl8 perl8="C:\perl32\bin\perl.exe" "%1" %*

    If I name the Perl script .pl, then it gets run using the 64-bit install. Name it .pl8 and the 32-bit install runs it. Personally, I have rarely ever had to resort to using 32-bit in the ~1 1/2 years I've had a 64-bit OS, other than for the occasional comparison. (But I don't use OLE; life's too short.)


    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.
Re: What Windows 64 bit traps are out there?
by syphilis (Archbishop) on Sep 10, 2011 at 10:40 UTC
    I have been unable to find Win64::OLE or anything that looks like it

    For the 64-bit builds of perl it's still called Win32::OLE, and it ships as standard with the 64-bit builds of ActivePerl.

    Cheers,
    Rob
Re: What Windows 64 bit traps are out there?
by ikegami (Patriarch) on Sep 10, 2011 at 14:53 UTC
    I use a 32-bit Perl on a 64-bit Windows. No traps.
Re: What Windows 64 bit traps are out there?
by jdrago999 (Pilgrim) on Sep 10, 2011 at 19:24 UTC

    What Windows 64 bit traps are out there?

    If you use any XS modules, make sure you build them from source (via cpan) or install the 64-bit ppm version (if you're using a 64-bit perl).

Re: What Windows 64 bit traps are out there?
by Anonymous Monk on Sep 12, 2011 at 09:42 UTC
    Use a 64bit OS with 32bit Perl, because Perl is not fully supported in its 64bit version.

    I think Perl should spend more time getting a fully working 64bit version with supporting modules instead of working on the future of Perl 6 in 32bit.

    If we figure when Perl 6 will be released for main stream use then what bit the OS's will be 96bit or 128bit? Sounds like Perl 6 has a lot of its time waisted as a 32bit version

      I think Perl should spend more time getting a fully working 64bit version with supporting modules instead of working on the future of Perl 6 in 32bit.

      Perl is not a person or an organization, its the language

      And perl5 and perl6 are two separate projects

      If we figure when Perl 6 will be released for main stream use then what bit the OS's will be 96bit or 128bit?

      Neither, by then 666bit will dominate

      Sounds like Perl 6 has a lot of its time waisted as a 32bit version

      Must have equally huge biceps by now

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://925219]
Approved by Corion
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2024-10-06 10:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The PerlMonks site front end has:





    Results (43 votes). Check out past polls.

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.