评估 EXPR 并立即使用该值退出。示例
my $ans = <STDIN>;
exit 0 if $ans =~ /^[Xx]/;
另请参见 die
。如果省略 EXPR,则以状态码 0
退出。EXPR 的唯一普遍认可的值是 0
表示成功,1
表示错误;其他值可能会根据 Perl 程序运行的环境进行解释。例如,从 sendmail 入站邮件过滤器退出 69 (EX_UNAVAILABLE) 将导致邮件服务器返回未送达的邮件,但这并不在所有地方都适用。
如果存在任何可能需要捕获发生的错误的情况,请不要使用 exit
来中止子程序。请改用 die
,它可以被 eval
捕获。
exit
函数并不总是立即退出。它首先调用任何已定义的 END
例程,但这些 END
例程本身可能不会中止退出。同样,任何需要调用的对象析构函数也会在实际退出之前被调用。END
例程和析构函数可以通过修改 $?
来更改退出状态。如果这是一个问题,您可以调用 POSIX::_exit($status)
来避免 END
和析构函数处理。有关详细信息,请参见 perlmod。
可移植性问题:"exit" in perlport.