Perl 如何检查Mac OS是32位还是64位?
我想确定Mac OS是32位还是64位Perl 如何检查Mac OS是32位还是64位?,perl,macros,Perl,Macros,我想确定Mac OS是32位还是64位 谁能帮我写下Perl脚本?一种可能是调用“arch” 我刚才快速键入的脚本如下所示: #!/usr/bin/perl -w $arch=`arch`; print $arch; 但是,当我在终端命令行中键入“arch”时,我得到的输出是“i386”。我的Mac Pro tower支持64位(有些应用程序(如果不是全部的话)运行在64位模式下),所以我不知道为什么我没有看到“x86\u 64”输出。我不是perl程序员,但是试着在最大32位整数上加1,然后
谁能帮我写下Perl脚本?一种可能是调用“
arch
”
我刚才快速键入的脚本如下所示:
#!/usr/bin/perl -w
$arch=`arch`;
print $arch;
但是,当我在终端命令行中键入“
arch
”时,我得到的输出是“i386
”。我的Mac Pro tower支持64位(有些应用程序(如果不是全部的话)运行在64位模式下),所以我不知道为什么我没有看到“x86\u 64
”输出。我不是perl程序员,但是试着在最大32位整数上加1,然后根据溢出值对其进行检查怎么样?如果等于,则为32位…您可以检查uname-a
的输出,并查看其结尾是否显示i386
或x86\u 64
:
#! /usr/bin/env perl
use strict;
use warnings;
use feature qw(say);
no warnings qw(uninitialized);
if (not -x "/usr/bin/uname") {
say "Can't determine system bit mode: uname command not found";
}
else {
chomp ( my $arch_type = qx(/usr/bin/uname -a) );
if (not $arch_type) {
say "Can't determine system bit mode";
}
elsif ($arch_type =~ /x86_64$/) {
say "System is in 64 bit mode";
}
else {
say "System is in 32 bit mode: $arch_type";
}
}
你想要什么还不清楚 要查找用于
perl
的指令集,可以使用以下命令:
$ perl -V:myarchname
myarchname='x86_64-linux';
$ perl -V:ivsize
ivsize='4';
(与i686 linux相对)
要查找perl
使用的整数的大小,可以使用以下命令:
$ perl -V:myarchname
myarchname='x86_64-linux';
$ perl -V:ivsize
ivsize='4';
(与8
相反)
可以从Perl中访问这些值,如下所示:
use Config qw( %Config );
say $Config{myarchname};
say $Config{ivsize};