感叹号在这个例子中意味着什么?在'开放'之前的那一个?这本书无法回答我的问题..
if ( ! open PASSWD, "/etc/passwd") {
die "How did you get logged in? ($!)";
}
while (<PASSWD>) {
chomp;
...
}
!
是布尔否定运算符。
open(...)
在出错时返回false,在成功时返回true。
因此,!open(...)
在出错时返回true,在成功时返回false。
如果表达式(if
)为真,则执行!open(...)
的块。
因此,如果if
返回错误,则执行open
的块。
Perl的符号运算符记录在perlop中。