Comment fonctionne le module Slurp du Perl?
Question
Je jeté un oeil à la source de Slurp et j'aimerais comprendre comment le fait slurp()
travail:
sub slurp {
local( $/, @ARGV ) = ( wantarray ? $/ : undef, @_ );
return <ARGV>;
}
Où se trouve le fichier même ouvert?
La solution
Voir ARGV
et $/ href="http://perldoc.perl.org/perlvar.html" rel="nofollow"> perldoc perlvar .
Voir aussi Chemin :: Classe: File :: slurp .
Autres conseils
ARGV
est une poignée, le fichier a été ouvert implicitement.
Cet extrait met le nom de fichier dans @ARGV
. Le ARGV
ouvre implicitement filehandle les fichiers qu'il voit dans @ARGV
. C'est le même que nous ne filehandle voyons pas dans l'opérateur diamant <>
puisqu'il est le descripteur de fichier par défaut pour cet opérateur.
est le même langage Perl comme:
my $data = do { local( @ARGV, $/ ) = $file; <> };
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow