【发布时间】:2017-03-15 03:49:24
【问题描述】:
我正在使用 Perl 的 diamond <> 运算符来读取命令行中指定的文件。
我希望能够报告"Trouble on line $. of file $FILENAME" 之类的消息,但我如何知道钻石当前使用的是哪个文件?
【问题讨论】:
-
请注意:使用 $ARGV 来检测打开的文件是危险的,例如:mycmd file.1 file.1 file.1(多个同名文件)。坚持使用
eof。 -
“外部包”的感知问题令人沮丧和荒谬。大多数 Perl 模块只是带有
.pm扩展名的源文件,不需要安装过程。默认情况下,@INC包含当前目录为.,因此只需将必要的文件复制到与源相同的目录即可使包可用并满足依赖关系。 -
@Borodin 如果可以直接用该语言提供某些内容,我更愿意了解它。就这么简单。
-
如果没有同样的效果也能达到同样的效果,那么推荐一个需要您下载并安装 Perl 模块的解决方案是不恰当的。您陈述的偏好看起来非常像解决方案不得涉及安装模块的常见咒语,这掩盖了从 Stack Overflow 解决方案复制的任何内容也是“外部”。您还应该记住,默认情况下 Perl 安装了许多 core 模块,并且要求排除这些模块的解决方案会很苛刻。
标签: perl diamond-operator