• Publicidad

Pequeña duda sobre funcionamiento de la instrucción "do

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Pequeña duda sobre funcionamiento de la instrucción "do

Notapor fgalves » 2006-10-12 08:22 @390

En el siguiente código:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
sub loadStatsValues {

    our %Summary;

    # Read the dump file
    my $status = do "$workingDirectory/$commonValuesFile";
    if ($status) {

        # Read global variables
        $startDate = $Summary{startDate};
        $endDate   = $Summary{endDate};

        $readLines     = $Summary{readLines};
        $firstReadDate = $Summary{firstRead};
        $lastReadDate  = $Summary{lastRead};

        $currentFileName  = $Summary{currentFileName};
       
        # Delegates the aggregation reload to any submodule.
        &Aggregation::reloadAggregationsFromDumper(\%Summary);
        &Projection::reloadProjectionsInfoFromDumper(\%Summary);
    } else {
        &Logger::logInfo("Can't eval $workingDirectory/$commonValuesFile.\n");
    }
    return $status;
}
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


aparentemente lo que hace es cargar el contenido del fichero $commonValuesFile en el hash %Summary. Alguien puede explicarme cómo funciona dicha instrucción, pues encuentro esta manera de leer un fichero un poco rara...

¡Gracias por adelantado!
Felipe
fgalves
Perlero nuevo
Perlero nuevo
 
Mensajes: 210
Registrado: 2006-09-25 13:54 @621

Publicidad

Notapor explorer » 2006-10-12 08:36 @400

do tiene varios usos.

Uno de ellos es la que se muestra en el ejemplo que has puesto. Se trata de leer un fichero Perl y ejecutarlo.

Seguro que en ese fichero "$workingDirectory/$commonValuesFile" es donde se inicializa el valor del hash %Summary. Y por eso %Summary está declarado como una variable 'global' con our, para que pueda ser usado por los dos scripts.
Última edición por explorer el 2006-10-12 08:43 @405, editado 1 vez en total
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor fgalves » 2006-10-12 08:39 @402

Si, eso acabo de averiguar y tu ahora me lo confirmas.
Me queda pues un arduo trabajo a realizar pues debido a una modificación, tengo que leer muchos ficheros y luego regenerar el %Summary a partir de múltiples hashes.

¡¡Muchas gracias Explorer!!
Felipe
fgalves
Perlero nuevo
Perlero nuevo
 
Mensajes: 210
Registrado: 2006-09-25 13:54 @621


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 13 invitados