contenidos del archivo como un script Perl.
do 'stat.pl';
es mayormente como
eval `cat stat.pl`;
excepto que es más conciso, no ejecuta procesos externos, mantiene
el seguimiento del nombre del archivo actual en los mensajes de
error, busca en los directorios @INC y actualiza %INC si se
encuentra al archivo. Vea "@INC" in perlvar y "%INC" in perlvar
para encontrar información sobre estas variables. También difiere
en que el código evaluado con "do ARCHIVO" no puede ver a las
variables léxicas en el ámbito en que se ejecuta; "eval STRING"
sí. Es lo mismo, sin embargo, en que vuelve a interpretar el
archivo cada vez que lo llama, así que, probablemente, no querrá
hacer esto dentro de un bucle.
Si "do" puede leer el archivo pero no puede compilarlo, devuelve
"undef" y pone un mensaje de error en $@. Si "do" no puede leer el
archivo, devuelve undef y pone $! al valor del error. Siempre
revise $@ en primer lugar, la compilación puede fallar de una
manera que también se establezca $!. Si el archivo se compila
bien, "do" devuelve el valor de la última expresión evaluada.
La inclusión de bibliotecas de módulos es mejor hacerla con los
operadores "use" y "require", que también hacen una comprobación
automática de errores y generan una excepción si existe algún
problema.
Puede usar "do" para leer en un programa un archivo de
configuración. Comprobación manual de errores se puede hacer así:
# leer en archivos de configuración: primero el sistema, luego el usuario
for $archivo ("/share/prog/defaults.rc",
"$ENV{HOME}/.algunprogramarc")
{
unless ($devuelve = do $archivo) {
warn "no puedo interpretar $archivo: $@" if $@;
warn "no puedo ejecutar $archivo: $!" unless defined $devuelve;
warn "no puedo ejecutar $archivo" unless $devuelve;
}
}
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4