exit EXPR
exit

评估 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.