Pregunta

Yo tenía un vistazo a la fuente de Slurp y me gustaría entender cómo funciona slurp() trabajo:

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

¿Dónde está aún abierto el archivo?

Otros consejos

ARGV es un mango, el archivo ha sido abierto de manera implícita.

Este fragmento pone el nombre de archivo en @ARGV. El gestor de archivo ARGV implícitamente abre los archivos que ve en @ARGV. Este es el mismo gestor de archivo que no vemos en el <> operador de diamante, ya que es el gestor de archivo por defecto para ese operador.

Este es el mismo lenguaje Perl como:

 my $data = do { local( @ARGV, $/ ) = $file; <> };
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top