UNIDAD 5: REGISTROS Y ARCHIVOS SECUENCIALES

TEMA PERL 6: GRABACION Y LECTURA DISCO

Como ya se menciono grabar y lectura de registros o estructuras a renglones o registros de archivos en disco.

Son los casos mas comunes y frecuentes que se pueden realizar con un archivo de disco.

GRABACION DE UNA ESTRUCTURA A UN ARCHIVO EN DISCO

Prog21.pl

#! /usr/bin/perl -w
# usando modulo o libreria CGI
use CGI;
# creando el OBJETO de tipo CGI
$q = new CGI;
# mandando servidor los encabezados de la pagina html
print $q->header;
print $q->start_html();
# creando una form o ventana
print $q->startform();
print $q->hr();
print "CLAVE : ";
print $q->textfield('CLAVE','', 5);
print $q->br();
print "NOMBRE :";
print $q->textfield('NOMBRE', '', 20);
print $q->br();
print "EDAD : ";
print $q->textfield('EDAD','', 5);
print $q->br();
# creando un submit button
print $q->submit('GRABAR');
# cerrando la forma
print $q->endform();
print $q->hr();
#cerrando html
print $q->end_html;
if ($q->param('GRABAR'))
{
$clave = $q->param('CLAVE');
$nombre = $q->param('NOMBRE');
$edad = $q->param('EDAD');
# abriendo archivo y grabando
open(ARCHIVO, ">> DATOS.DAT") || die "No se pudo abrir el archivo";
print ARCHIVO "$clave \n";
print ARCHIVO "$nombre \n";
print ARCHIVO "$edad \n";
# cerrando archivo
close(ARCHIVO);
$temp = $q->param('CLAVE');
print "registro $temp grabado" ;
};

corrida:

image262.jpg

La primera observacion es que se esta usando el “open()” en modo ”»” pero es para matar dos pajaros de un tiro, reestudiar la clase anterior de modos de apertura.

La unica instrucion nueva es:

print ARCHIVO “campoagrabar \n”;

Como se observa son dos parametros:

ARCHIVO.- Variable apuntador cuya funcion ya se explico en el TEMA PERL anterior.

“campo a grabar \n” .- se debera grabar campo a campo y ademas a cada campo se le debera agregar un caracter de enter o return '\n' al final.

LECTURA DE REGISTROS

Prog22.pl

#! /usr/bin/perl -w
# usando modulo o libreria CGI
use CGI;
# creando el OBJETO de tipo CGI
$q = new CGI;
# mandando servidor los encabezados de la pagina html
print $q->header;
print $q->start_html();
# creando una form o ventana
print $q->startform();
# creando un submit button
print $q->submit('DESPLEGAR');
# cerrando la forma
print $q->endform();
#cerrando html
print $q->end_html;
if ( $q->param('DESPLEGAR')) {
print $q->hr();
# empezando una tabla html
print "<HTML><TABLE Border=10 CellPadding=5><TR>";
# construyendo los encabezados de la tabla
print "<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>";
# abriendo archivo
open(ARCHIVO, "DATOS.DAT") || die "No se pudo abrir archivo";
while(!eof(ARCHIVO)){
# leyendo los campos
$clave=<ARCHIVO>;
$nombre=<ARCHIVO>;
$edad=<ARCHIVO>;
print "<TR><TD>"."$clave"."</TD><TD>"."$nombre"."</TD><TD>"."$edad"."</TD></TR>";
}
print "</TABLE>";
close(ARCHIVO);
print $q->hr();
};

corrida:

image263.jpg

Las unicas notas son :

En open() se uso modo lectura “DATOS.DAT”.

En lugar de print, se usa <ARCHIVO> para cargar el campo.

Y se construye una tabla HTML para realizar el despliegue.

TAREAS PROGRAMACION PERL

1.-crear, cargar y leer un archivo de productos y otro de empleados

Politica de Privacidad