我正在寻找在 Perl 中读取文件的有效方法,并发现了这一非常有趣的行:
my $text = do { local (@ARGV, $/) = $file; <> };
我的问题是:这到底是如何运作的?通常在读取您设置的文件时$/ = undef
,但我不明白这是如何做到的。事实证明,这段小代码很难理解。
对此的简化分解和解释是什么?
现在我知道它是如何工作的了,让我们开始真正的想象吧!
并不是说这段代码有任何实际用途;弄清楚它很有趣,看起来也很酷。这是一个可以同时读取多个文件的单行代码!!!
my @texts = map { local (@ARGV, $/) = $_; <> } @files;
local (@ARGV, $/) = $file;
是相同的
local @ARGV = ( $file );
local $/ = undef;
<>
然后从中提到的文件中读取@ARGV
,即从$file
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)