gpt4 book ai didi

使用 utf8 时不输出 Perl 警告、严格错误和诊断错误

转载 作者:行者123 更新时间:2023-12-01 13:43:51 25 4
gpt4 key购买 nike

我在 Windows 7 上安装了 Strawberry Perl 5.22,然后是 Padre/Dwimperl(其中包括 Strawberry 5.14)。然后我卸载了 5.22。然后我使用“D:\Dwimperl\perl\bin”中的“cpan SDL”安装了 SDL。它似乎安装正确。

使用 Padre(和/或命令行)我可以运行 Perl 脚本。但是,如果我引入错误(“$r=0;”),那么我将看不到警告/严格/诊断的正常输出,除非我注释掉“使用 utf8;”

使用“使用 utf8;”我收到这个无用的错误:

BEGIN not safe after errors--compilation aborted at D:/Dwimperl/perl/lib/diagnos
tics.pm line 599.

没有它我会得到这个更有帮助的错误:

Global symbol "$r" requires explicit package name at sdl2.pl line 12.
Execution of sdl2.pl aborted due to compilation errors (#1)
(F) You've said "use strict" or "use strict vars", which indicates
that all variables must either be lexically scoped (using "my" or "state"),

declared beforehand using "our", or explicitly qualified to say
which package the global variable is in (using "::").

Uncaught exception from user code:
Global symbol "$r" requires explicit package name at sdl2.pl line 12.
Execution of sdl2.pl aborted due to compilation errors.
at sdl2.pl line 15

这是我正在使用的脚本:

#! D:\Dwimperl\perl\bin\perl.exe
use warnings;
use strict;
use diagnostics;
use utf8;
binmode STDOUT, ':utf8';
$r = 0;
print "Hello World!\n";
exit 0;

谁能建议我如何保留有用的错误并使用 utf8?

最佳答案

这是一个已知问题,发生在 Strawberry Perl 之外。查看这篇文章: http://www.perlmonks.org/?node_id=884018

关于使用 utf8 时不输出 Perl 警告、严格错误和诊断错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com