Perl 发出警告的原因是什么;不带引号的字符串…;可能与将来的保留字“冲突?”;?
我正在尝试处理Perl程序中的所有警告,但在这一方面遇到了一些问题Perl 发出警告的原因是什么;不带引号的字符串…;可能与将来的保留字“冲突?”;?,perl,warnings,Perl,Warnings,我正在尝试处理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 rese
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>";
不带引号的字符串“lib”可能与/home/user/bin/ttt.v01.pl第17行的将来保留字冲突。
第17行:使用lib(“${HOME}/.lib”);
未加引号的字符串“sync”可能与/home/user/bin/ttt.v01.pl第23行的将来保留字冲突。
第23行:我们的$SYNC_HOSTS=“${HOME}/.SYNC.HOSTS”;
未加引号的字符串“config”可能与/home/user/bin/ttt.v01.pl第28行的将来保留字冲突。
第28行:我们的$USAGE_TEXT=“[-hd]-a-l”;
发件人:
不带引号的字符串“%s”可能与将来的保留字冲突
(W保留)您使用了可能有一天会被称为保留字的裸字。最好把这样一个词用引号括起来,或者大写,或者加上一个下划线。您还可以将其声明为子例程
这些都是双引号,所以我不确定我遗漏了什么。嗯,也许在第17行之前有一个不匹配的双引号,这会导致编译器报告错误的警告?我闻到缺少引号 您使用的是程序编辑器还是记事本 大多数程序编辑器都有语法高亮显示,可以很容易地帮助您找到缺少的引号。我使用
VIM
,它将带引号的字符串置于红色,将Perl函数置于绿色。如果我突然看到我所有的Perl函数都是红色的,而引用的文本不是红色的,我马上知道我在什么地方遗漏了一个引用
编辑您的问题并包括程序的前20行。如果您可以发布一个复制此警告之一的最小脚本,这将非常有用。请编辑您的问题以包括
ttt.v01.pl
的第1到17行。我也在想同样的事情。它将“/.lib”中的lib
标记为不在“use”中,因为它认为use
后面的那个被引用了。