是否有任何理由在 Perl 中使用 open(...)
的两个参数形式而不是三个或更多参数版本?
我能想到的唯一原因是明显观察到双参数形式更短。但假设冗长不是问题,还有其他原因会让您选择 open(...)
的双参数形式吗?
最佳答案
一个和两个参数的 open 应用任何由 -C
开关或 open
pragma 指定的默认层。三arg开放没有。在我看来,这种功能差异是选择一个或另一个的最有力理由(选择将根据您打开的内容而有所不同)。哪个最简单或最具描述性或“最安全”(您可以安全地使用带任意文件名的双参数打开,只是不那么方便)在模块代码中退居二线;在脚本代码中,您可以更自由地选择是否支持默认图层。
此外,Damian Conway 的文件 slurp 运算符需要一个参数打开
$_ = "filename";
$contents = readline!open(!((*{!$_},$/)=\$_));
关于perl - 是否有理由在 Perl 中使用 open(...) 的双参数形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1806333/