Как я могу сказать, работает ли мой сценарий Perl в соответствии с Windows?

Попробуйте binascii модуль

from binascii import unhexlify
b = unhexlify(myhexstr)

9
задан brian d foy 15 September 2009 в 15:46
поделиться

3 ответа

Из perldoc perlvar :

  • $ OSNAME
  • $ ^ O

Имя операционной системы, под которой была создана эта копия Perl, как определяется в процессе настройки. Значение идентично $ Config {'osname'} . См. Также Config и ключ командной строки -V, задокументированный в perlrun.

На платформах Windows $ ^ O не очень полезен: поскольку это всегда MSWin32 , это не так. Я не вижу разницы между 95/98 / ME / NT / 2000 / XP / CE / .NET. Используйте Win32 :: GetOSName () или Win32 :: GetOSVersion () (см. Win32 и perlport ), чтобы различать варианты.

15
ответ дан 4 December 2019 в 09:14
поделиться
$^O eq 'MSWin32'

(Источник: справочная страница perlvar )

6
ответ дан 4 December 2019 в 09:14
поделиться

Используйте Devel :: CheckOS . Он обрабатывает всю логику и особые случаи за вас. Обычно я делаю что-то вроде:

use Devel::CheckOS qw(die_unsupported os_is);

die "You need Windows to run this program!" unless os_is('MicrosoftWindows');

Семейства MicrosoftWindows знают о таких вещах, как Cygwin, поэтому, если вы работаете в Windows, но не в командной строке, os_is () все равно даст правильный ответ. .

3
ответ дан 4 December 2019 в 09:14
поделиться
Другие вопросы по тегам:

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