Perl语法错误 - "语法错误行15附近"}其他""

Pyt*_*Kid 2 perl

我在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)

有任何想法吗?请注意,部分代码已被删除.

Mor*_*kus 7

有很多事要评论.错误在第一行:你在条件周围缺少括号,;最后是多余的.

下一步:\n在单引号字符串内写入'...'将无法执行您想要的操作.

然后,不是真的错,但也不是完全好的风格:print "..." } ;应该有;}逆转.