質問
ソースを見てみました 啜る そして、どのようにして行われるのかをぜひ理解したいと思っています slurp()
仕事:
sub slurp {
local( $/, @ARGV ) = ( wantarray ? $/ : undef, @_ );
return <ARGV>;
}
ファイルはどこで開かれているのでしょうか?
解決
見る ARGV
そして $/
で perldoc ペルバール.
こちらも参照 パス::クラス:ファイル::slurp.
他のヒント
ARGV
には、ハンドルで、ファイルが暗黙的に開かれています。
このスニペットは@ARGV
でファイル名を置きます。 ARGV
ファイルハンドルは、暗黙的にそれが@ARGV
で見ているファイルを開きます。これは、そのオペレータのデフォルトファイルハンドルだから、我々はダイヤモンドのオペレータ<>
に表示されていないのと同じファイルハンドルです。
これは、同じPerlのイディオムであります
my $data = do { local( @ARGV, $/ ) = $file; <> };
所属していません StackOverflow