0

我正在尝试解决 Perl 程序中的所有警告,并且遇到了一些问题。

Unquoted string "lib" may clash with future reserved word at /home/user/bin/ttt.v01.pl line 17.
    line 17: use lib ( "${HOME}/.lib" );
Unquoted string "sync" may clash with future reserved word at /home/user/bin/ttt.v01.pl line 23.
    line 23: our $SYNC_HOSTS = "${HOME}/.sync.hosts";
Unquoted string "config" may clash with future reserved word at /home/user/bin/ttt.v01.pl line 28.
    line 28: our $USAGE_TEXT = "[-hd] -a <config> -l <location>";

perldiag

未加引号的字符串“%s”可能与未来的保留字发生冲突

(W 保留)您使用了可能有一天会被声明为保留字的裸字。最好将这样的单词放在引号中,或者以某种方式将其大写,或者在其中插入下划线。您也可以将其声明为子例程。

我有这些都是双引号,所以我不确定我错过了什么。

4

2 回答 2

1

嗯,也许你在第 17 行之前有一个不匹配的双引号,导致编译器报告错误的警告?

于 2012-04-12T12:54:36.263 回答
0

我闻到了一个缺少的引号!

您使用的是程序编辑器还是使用记事本?

大多数程序编辑器都有语法突出显示,可以轻松帮助您找到丢失的引号。我使用VIMwhich 将带引号的字符串以红色和 Perl 函数以绿色。如果我突然看到我所有的各种 Perl 函数都是红色的,而引用的文本不是红色的,我会立即知道我在某处遗漏了引用。

编辑您的问题并包含程序的前 20 行。

于 2012-04-12T21:23:42.363 回答