我正在寻找权威确认或更正我认为我知道的关于-CSDA
Perl 脚本的 shebang 行上的选项的人。
请参阅perldoc perlrun以获取-CSDA
. 简要地
- S:
STDIN
,STDOUT
并STDERR
假定为 UTF-8- D:UTF-8 是输入和输出流的默认 PerlIO 层
- 答:@ARGV 元素应为以 UTF-8 编码的字符串
为了
-CSDA
产生任何效果,它必须在命令行中指定,如perl -CSDA script.pl
.在 5.10 之前,
-CSDA
shebang 行会静默失败,因为标准流@ARGV
在遇到它时已经打开并且已经填充,除非-CSDA
已经在命令行上指定。在 5.10 之后,
-CSDA
它只出现在 shebang 线上会perl
因为这个问题而导致呱呱叫。-CSDA
用于s pre-5.10的脚本perl
应该-CSDA
从 shebang 行中删除,因为它从未在命令行上使用这些选项调用(并且选项,如果仅在 shebang 行上指定,则什么都不做)。
我很想得到一些可靠的反馈,说明我上面的哪些假设是错误的。