我最近升级到macOS 10.13 High Sierra,并在尝试安装更新版本的Perl(5.26.1)后遇到问题 . 问题的关键在于macOS 10.13 High Sierra(家用笔记本电脑)上的自检失败,但在macOS 10.12 Sierra(工作笔记本电脑)上取得了成功 .
以下是显示失败的安装日志部分:
../cpan/Config-Perl-V/t/30_plv5240.t ............................... ok
../cpan/Config-Perl-V/t/31_plv52511.t .............................. ok
../cpan/DB_File/t/db-btree.t ....................................... ok
Use of uninitialized value $value in string eq at t/db-hash.t line 224.
Use of uninitialized value $values[0] in string eq at t/db-hash.t line 224.
Use of uninitialized value $value in lc at t/db-hash.t line 224.
Use of uninitialized value $h{""} in string eq at t/db-hash.t line 243.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value in numeric eq (==) at t/db-hash.t line 252.
Use of uninitialized value $foo[18] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[36] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[48] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[58] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[59] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[60] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[62] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[63] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[92] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[114] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[140] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[187] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[188] in join or string at t/db-hash.t line 261.
Use of uninitialized value $foo[189] in join or string at t/db-hash.t line 261.
Use of uninitialized value $h{"Fred"} in string eq at t/db-hash.t line 572.
Use of uninitialized value $v in concatenation (.) or string at t/db-hash.t line 748.
../cpan/DB_File/t/db-hash.t ........................................
Dubious, test returned 2 (wstat 512, 0x200)
Failed 76/166 subtests
无论是使用_1364380安装还是只是下载the Perl tarfile并手动安装,我都能重复同样的失败 . 当我尝试调试有问题的测试 t/db-hash.t 时,我可以看到测试哈希 %h 已经创建并且正在测试文件中填充,但当我 print Dumper(\%h) 时,我看到哈希看起来有正确的键,但所有的值是 undef ,而不是测试脚本中分配的值 .
这些 undef 值导致测试失败 . 奇怪的是,当我打印整个哈希或尝试创建哈希值数组时,会显示未定义的值 . 如果我要求特定的散列密钥值,例如 my $value = $h{key} ,值打印正常 .
问题:
如何解决这个问题,以便我可以在macOS 10.13上安装新的Perl?
什么破了?这曾经用于macOS 10.12 .