You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Perl官方文档:无exit()语句时程序的退出码规则

Perl脚本无显式exit/die时的退出码官方说明

Perl官方文档对脚本无显式终止语句时的退出码有明确规定:

来自perlrun文档(Perl运行时规范)

如果脚本运行至末尾而未调用exit(),则退出状态码为0。如果调用了exit(N),退出状态码为N。如果脚本因die()终止,若die()无参数则退出状态码为255;若有参数,参数为数值则用该数值作为状态码,否则状态码为255。

来自perlfunc文档(函数参考)

exit()函数接受一个可选的数值参数作为退出状态码。如果省略该参数,默认以0状态退出。

这意味着:当Perl脚本正常执行到末尾(没有die或显式exit调用),其退出码固定为0,不会返回最后一次函数调用或系统调用的返回值——这和bash的行为完全不同,bash会将最后一个命令的退出码作为脚本的退出码。

举个例子验证:

#!/usr/bin/perl
# 执行一个会返回非0退出码的系统调用
system("false");
# 脚本运行到此处结束,无显式exit

运行该脚本后,用echo $?查看退出码,结果为0,而非system("false")返回的非0值。若要让脚本返回该系统调用的结果,需显式写exit system("false");。

内容的提问来源于stack exchange,提问作者vvch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 10:15:04