我在严格模式下使用CGI,并且与变量混淆了一点。我正在阅读有两行文件。将两者存储在两个变量中。但是当我尝试他们使用HTML outputing,它说,全局变量错误perl中的变量范围
这是我在做什么
open TEXT, "filename";
$title = <TEXT>;
$about = <TEXT>;
close TEXT;
但是这给全局变量错误。最好的解决办法是什么?
我在严格模式下使用CGI,并且与变量混淆了一点。我正在阅读有两行文件。将两者存储在两个变量中。但是当我尝试他们使用HTML outputing,它说,全局变量错误perl中的变量范围
这是我在做什么
open TEXT, "filename";
$title = <TEXT>;
$about = <TEXT>;
close TEXT;
但是这给全局变量错误。最好的解决办法是什么?
您需要声明变量my
以使其作用域为本地。
FILE
):使用strict
use strict;
use warnings;
open my $fh, '<', 'filename' or die $!;
my ($title, $about) = <$fh>;
close $fh;
进一步改进时,这是最好的做法和强制性的。而是使用本地文件句柄如my $fh
die
处理use warnings
建议显示什么错按指出的$title
和$about
组合分配@TLP
没有错误说“全局变量错误”。永远不要给出近似的错误信息 - 总是给出* exact *消息。 – TLP