Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么perl会抱怨一个";我的";当这条线没有一条时?_Perl_Variables_Compiler Warnings - Fatal编程技术网

为什么perl会抱怨一个";我的";当这条线没有一条时?

为什么perl会抱怨一个";我的";当这条线没有一条时?,perl,variables,compiler-warnings,Perl,Variables,Compiler Warnings,我有一段代码,在给定一个列表的情况下,尝试多次调用一个函数。我有一个for()循环,然后在循环中调用函数。但是在函数调用的过程中,我遇到了一个奇怪的错误: [Thu Aug 8 08:31:37 2013] x.cgi: "my" variable $_ masks earlier declaration in same statement at /usr/home/x/public_html/cgi-bin/x.cgi line 310. [Thu Aug 8 08:31:37 2013]

我有一段代码,在给定一个列表的情况下,尝试多次调用一个函数。我有一个
for()
循环,然后在循环中调用函数。但是在函数调用的过程中,我遇到了一个奇怪的错误:

[Thu Aug  8 08:31:37 2013] x.cgi: "my" variable $_ masks earlier declaration in same statement at /usr/home/x/public_html/cgi-bin/x.cgi line 310.
[Thu Aug  8 08:31:37 2013] x.cgi: "my" variable $_ masks earlier declaration in same statement at /usr/home/x/public_html/cgi-bin/x.cgi line 310.
这个错误很奇怪,因为行中根本没有
my

这是我的代码,用Perl5运行

子cgiPrintForm{
我的$fh=班次;
关于(qw!betatest订阅fname lname职位部门公司地址1地址2城市省邮政编码国家电话传真电子邮件hearofus评论!)
{
打印$fh“\n$\”,如果定义了参数($\),则打印参数($\);
}
打印$fh
\n引用方:,引用方(),
\n远程主机:,远程主机(),
\n远程IP:,远程地址(),
\n远程标识:,远程标识(),
“\n用户代理:”,用户代理(),“\n”;
}
显然,Perl的一些魔力出了问题,自动的
my
把我搞砸了

此错误消息通常表示您在发生错误的行之前忘记了分号。我会在该子定义之前立即查找可能的错误


@阿蒙的评论是正确的;我在另一个部分中遇到了一个直到此时才被检测到的错误(它是缺少引号或大括号之类的东西)。

使用
strict
warnings
您的代码片段编译得很好(即使在strict下)。此错误消息通常表示您在发生错误的行之前忘记了分号。我会在这个子定义之前查找可能的错误。@amon就是这样,谢谢