質問

ソースを見てみました 啜る そして、どのようにして行われるのかをぜひ理解したいと思っています slurp() 仕事:

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

ファイルはどこで開かれているのでしょうか?

役に立ちましたか?

解決

見る ARGV そして $/perldoc ペルバール.

こちらも参照 パス::クラス:ファイル::slurp.

他のヒント

ARGV には、ハンドルで、ファイルが暗黙的に開かれています。

このスニペットは@ARGVでファイル名を置きます。 ARGVファイルハンドルは、暗黙的にそれが@ARGVで見ているファイルを開きます。これは、そのオペレータのデフォルトファイルハンドルだから、我々はダイヤモンドのオペレータ<>に表示されていないのと同じファイルハンドルです。

これは、同じPerlのイディオムであります

 my $data = do { local( @ARGV, $/ ) = $file; <> };
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top