【问题标题】:How does the Perl's Slurp module work?Perl 的 Slurp 模块是如何工作的?
【发布时间】:2011-04-30 03:28:35
【问题描述】:

我查看了Slurp 的来源,我很想了解slurp() 的工作原理:

sub slurp { 
    local( $/, @ARGV ) = ( wantarray ? $/ : undef, @_ ); 
    return <ARGV>;
}

文件在哪里打开?

【问题讨论】:

标签: perl slurp


【解决方案1】:

参见perldoc perlvar 中的ARGV 和$/。

另见Path::Class:File::slurp。

【讨论】:

【解决方案2】:

ARGV 是句柄,文件已被隐式打开。

【讨论】:

    【解决方案3】:

    这个 sn-p 将文件名放在@ARGV 中。 ARGV 文件句柄隐式打开它在@ARGV 中看到的文件。这是我们在菱形运算符&lt;&gt; 中看不到的相同文件句柄,因为它是该运算符的默认文件句柄。

    这与 Perl 的成语相同:

     my $data = do { local( @ARGV, $/ ) = $file; <> };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 2013-02-12
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多