Изящно определяющая архитектура системы в Perl

Я ищу простой способ определить, является ли система 32-или 64-разрядный из Perl 5. Я читал perlvar страница руководства назад и вперед, и не обнаружила переменную, которая содержит архитектуру ЦП системы (Perl архитектуры ЦП был скомпилирован для, приблизится достаточно). Это является самым близким, я приехал:

chomp (my $arch = `uname -m`);

Я задавался вопросом, был ли более изящный способ определить это; я очень не хочу полагаться на выражения обратной галочки, поскольку они - и узкое место, имеют тенденцию быть небезопасными, и часто (этот пример особенно) повреждают межплатформенную совместимость. Нет никакой причины, Perl не должен уже иметь эту информацию в наличии.

6
задан amphetamachine 11 July 2010 в 17:59
поделиться

3 ответа

См. Конфиг модуля.

Возможно, будет достаточно проверить, установлен ли $ Config {'archname64'} .

10
ответ дан 8 December 2019 в 12:18
поделиться

Может быть, попробовать модуль CPAN, такой как https://metacpan.org/pod/Devel::CheckOS .

2
ответ дан 8 December 2019 в 12:18
поделиться

Метод Sys :: Info :: OS-> bitness определит "разрядность" вашей ОС.

7
ответ дан 8 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: