in reply to Re^4: How to find out if it is 32bit or 64bit windows?
in thread How to find out if it is 32bit or 64bit windows?

So the module returns 32-bit for a 64-bit CPU running a 32-bit OS?
  • Comment on Re^5: How to find out if it is 32bit or 64bit windows?

Replies are listed 'Best First'.
Re^6: How to find out if it is 32bit or 64bit windows?
by BrowserUk (Patriarch) on Jun 24, 2011 at 16:05 UTC
    So the module

    Which module?

    Assuming you mean Sys::Info, (Not that I would use that suite of modules anyway.), I have no idea, but it should.

    Specifically, the code that deals with 'bitness' queries is Sys::Info::Base which is the base class for Sys::Info::OS. So the question being asked in your scenario above is the bitness of the OS, which should be 32-bit regardless of whether it is running on a 32-bit or 64-bit cpu. And if that is not what the module returns, it is wrong(ly specified).

    The answer to what the OP really needs to know will always come back to why he needs to know it. With all the possibilities we have these days:

    • 32-bit Perl running under a 32-bit OS on a 32-bit processor.
    • 32-bit Perl running under a 32-bit OS on a 64-bit processor
    • 32-bit Perl running under a 64-bit OS on a 64-bit processor
    • 64-bit Perl running under a 64-bit OS on a 64-bit processor
    • 32-bit Perl running under a 32-bit OS within a VM emulating a 32-bit processor, guesting on a 32-bit OS running on a 32-bit processor.
    • 32-bit Perl running under a 32-bit OS within a VM emulating a 32-bit processor, guesting on a 32-bit OS running on a 64-bit processor.
    • 32-bit Perl running under a 32-bit OS within a VM emulating a 32-bit processor, guesting on a 64-bit OS running on a 64-bit processor.
    • 32-bit Perl running under a 32-bit OS within a VM emulating a 64-bit processor, guesting on a 64-bit OS running on a 64-bit processor.
    • 32-bit Perl running under a 64-bit OS within a VM emulating a 64-bit processor, guesting on a 64-bit OS running on a 64-bit processor.
    • 64-bit Perl running under a 64-bit OS within a VM emulating a 64-bit processor, guesting on a 64-bit OS running on a 64-bit processor.
    • Other?

    working out which piece of information is actually relevant to the OPs purpose is impossible until he states that purpose.


    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.
      Hi there, it actually gets the information from GetSystemInfo().

      Since you won't be bothered with Sys::Info, it looks like you have a better cross-platform module set to query such information. Please share the name and I'll stop wasting my time in it.

        Since you won't be bothered with Sys::Info, it looks like you have a better cross-platform module set to query such information. Please share the name and I'll stop wasting my time in it.

        Hm. Why would my preferences mean that you are wasting your time?

        As for why I wouldn't use your module:

        1. I have no use for a cross-platform solution.
        2. I don't use pseud-OO modules that force me to create an instance of things for which there is inherently never any point in creating two instances.
        3. I wouldn't use a module that queries information via WinMgmts and/or Win::OLE that can more easily be queried directly from the OS.

        But those are my preferences. They do not affect the utility of your module for you -- or others.


        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.