http://www.perlmonks.org?node_id=1231992

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

Hello

I am accustomed to berrybrew on Windows where I can decide (and later see) if I want to install a 32 or 64 version of Perl. Moving to macOS and Perlbrew now, how can I get the info if my Perl installation is 32 or 64? Reason for my question: on my Mojave machine I got a message when running my script saying that I need to update to 64 bit as 32 will soon be deprecated my macOS. I do not remember to have explicitly installed 32, nor I can find any useful info with perl -v (different to Windows where I get this info). Thanks

Replies are listed 'Best First'.
Re: Perlbrew 32 or 64 Perl
by marto (Cardinal) on Apr 02, 2019 at 09:56 UTC

    perl -V (note upper case V) displays a lot of useful data, which you can report on individually...

    • perl -V:archname will tell you if it's a 32 or 64bit perl program.
    • perl -V:ivsize if this outputs 8 perl can use 64bit integers, if 4 32bit.
    • perl -V:ptrsize if this outputs 4 your perl uses 32bit pointers, if 8 64bit.

    To use perlbrew to install a 64bit perl do perlbrew --64all install perlversionhere.

Re: Perlbrew 32 or 64 Perl
by ikegami (Patriarch) on Apr 02, 2019 at 10:42 UTC

    It depends on what you mean by "32 or 64 version".


    If you want to check if it uses 32-bit integers or 64-bit integers, use the following:

    perl -V:ivsize # use Config; say $Config{ivsize}
    • If the returned value is 4, your Perl uses 32-bit integers.
    • If the returned value is 8, your Perl uses 64-bit integers.

    If you want to check if it uses 32-bit pointers or 64-bit pointers, use the following:

    perl -V:ptrsize # use Config; say $Config{ptrsize}
    • If the returned value is 4, your Perl can address 4 GB of RAM.
    • If the returned value is 8, your Perl can address "unlimited" RAM.

    If you want to check if it's a 32-bit program or a 64-bit program, use the following:

    perl -V:archname # use Config; say $Config{archname}
    • If the returned value includes x86_64, it's a 64-bit process.
    • If the returned value includes x86 (but not x86_64), it's a 32-bit process.

    This value is also included in the output of perl -v.


    Note: You shouldn't be checking use64bitint or use64bitall as these indicate what parameters were passed to Configure rather than provide information about what was actually used.


    Copied from How can I check whether my Perl installation is 32 or 64 bit? on StackOverflow.

Re: Perlbrew 32 or 64 Perl
by Laurent_R (Canon) on Apr 02, 2019 at 09:56 UTC
    perl -V (with upper case V) will probably give you the additional information you're looking for.