我有這個沒有通過編譯的if陳述句:
my $string_var;
if ( $string_var eq "string_value1" || $string_var eq "string_value2" ) &&
(defined $ENV{VAR_NAME}) {
die { "error_message" => "error_message" }
}
我和 Perl::Critic 都沒有看到問題。但是 Perl 說:
syntax error at /opt/app_protect/bin/../lib/perl/F5/BdCfg/Bundle.pm line 178, near ") &&"
syntax error at /opt/app_protect/bin/../lib/perl/F5/BdCfg/Bundle.pm line 181, near "}"
任何人都可以幫忙嗎?
這是帶有 Perl v5.16.3 的 CentOS 7.6.1810
uj5u.com熱心網友回復:
從perlsyn:
以下復合陳述句可用于控制流程:
...
if (EXPR) BLOCK
你在這里提供的不是
if (EXPR) BLOCK
但反而
if (EXPR1) && (EXPR2) BLOCK
這需要用括號括起來才能成為有效的語法,即
if ((EXPR1) && (EXPR2)) BLOCK
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/463586.html
標籤:perl
上一篇:C中的通用快速排序
