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.
See also: Answer to “What is the perl equivalent of MAX_INT?”
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 GiB 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 notx86_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 is actually being used.