【发布时间】:2015-09-14 21:24:30
【问题描述】:
使用我的 oneliners,我经常想在一个字符串中获取整个文件。只有核心模块,我知道考虑$file = 'foo' 的唯一解决方案是:
$str = do {local $/; open $fh, '<', $file; <$fh>};
或者
$str = qx{cat $file};
第二种方法写起来更短,更容易理解,但在幕后涉及更多的复杂性(sys_execve)。
有没有更好的方法或者我不知道的好糖?
【问题讨论】:
-
第二个并不短。它只是看起来那样,因为您忘记了需要错误检查。打开文件时出现问题是最常见的错误!
-
"使用我的 oneliners,我经常想在一个字符串中获取整个文件。"
perl -0777 -nwE 'say $_' /path/to/file
标签: perl