在此示例中,感叹号是什么意思? “开放”之前的权利?这本书不能回答我的问题。
if ( ! open PASSWD, "/etc/passwd") {
die "How did you get logged in? ($!)";
}
while (<PASSWD>) {
chomp;
...
}
答案 0 :(得分:4)
!
是布尔求反运算符。
open(...)
在错误时返回false,在成功时返回true。
因此,!open(...)
在错误时返回true,在成功时返回false。
如果表达式(if
为真,则执行!open(...)
的块。
因此,如果if
返回错误,则执行open
的块。
Perl的符号运算符记录在perlop中。