相关疑难解决方法(0)

为什么Perl的两个arg开放似乎剥离换行?

当我open()使用包含尾随换行符的文件名调用perl的two-arg 时,将忽略换行符.然而,三个arg版本保留了换行符.

为什么行为会有所不同?为什么新线表面上被剥离了?

- 文件"nl"不存在.做了

$ ls -1 nl; touch nl; ls -1 nl
ls: nl: No such file or directory
nl

- 尝试三个arg打开"nl \n"→ENOENT

strace显示了我期望的行为,FWIW.

$ perl -E 'open(F, "<", "nl\n") or die $!'
No such file or directory at -e line 1.

$ strace -e trace=open perl -E 'open(F, "<", "nl\n") or die $!' 2>&1 | grep nl
open("nl\n", O_RDONLY|O_LARGEFILE)      = -1 ENOENT (No such file or directory)

- 现在,试试两个arg打开"nl \n"→成功?

$ perl -E 'open(F, …

filesystems perl

6
推荐指数
1
解决办法
212
查看次数

标签 统计

filesystems ×1

perl ×1