我在Perl中遇到了一个非常烦人的问题.这是我的代码:
if $password eq "a_secret";
{
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print '${var}=\"${val}\"\n'
};
}
else
{
print "<html><head><title>Unauthorized</title></head><h1>Unauthorized</h1><body>You do not have permission to access \printenv\printenv.pl on this server.</body></html>";
}
Run Code Online (Sandbox Code Playgroud)
当我执行此代码时,我收到以下错误消息:
syntax error line 10 near "else"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?请注意,部分代码已被删除.
有很多事要评论.错误在第一行:你在条件周围缺少括号,;最后是多余的.
下一步:\n在单引号字符串内写入'...'将无法执行您想要的操作.
然后,不是真的错,但也不是完全好的风格:print "..." } ;应该有;和}逆转.