Rutinas para Acceso a archivos en PERL:

Autor : Joshué Moisés García Sánchez


Print HTML

Print >> EOF;

<HTML a COLOCAR>

EOF;


Open a File

open(MOVIE, "$database") or die "could not open the Movie Information file :\n$!\n";
$d=1;
while ($line = <MOVIE>)
	{
($name[$d], $website[$d], $starring[$d], $runtime[$d],
$s[$d], $pic[$d], $rated[$d], $plot[$d]) = 
split /;/, $line;
$d++
	}
Other Form :
open (ORGDB,"<$database");
@ODB=<ORGDB>;
close (ORGDB);

foreach $rec (@ODB){
	chomp($rec);
	($a1,$a2,$a3,$a4,$a5,$a6)=split(/\|/,$rec);
}

Eliminar :

open (ORGDB,"<$database");
@ODB=<ORGDB>;
close (ORGDB);

open (DATABASE,">$database");
@DB=<DATABASE>;
foreach $rec (@ODB){
chomp($rec);
($ae,$be,$ce,$de,$ee,$fe)=split(/\|/,$rec);
if ($ae eq $FORM{'id'}){
print DATABASE "";
}else{
print DATABASE "$ae|$be|$ce|$de|$ee|$fe\n";
}
}
close (DATABASE);


Busqueda :

$query= $input{'text_string'};
$textfile='../demo/mm1.txt';

$header= <<"headerstuff";
Content-type: text/html\n\n
<html><head><title>Results</title></head>
<body bgcolor="white" text="#000080">
<h3>Results</h3>
<hr size=1 ><pre>
headerstuff

print $header;

open (INFILE, "<$textfile")or die "Can't open $textfile\n" ;
while (<INFILE>){ print if s/$query/<font color="#FF0000">$query<\/font>/; }
close (INFILE);

print "</pre></body></html>";


Editar :

open (ORGDB,"<$database");
@ODB=<ORGDB>;
close (ORGDB);

foreach $rec (@ODB){
chomp($rec);
($a1,$a2,$a3,$a4,$a5,$a6)=split(/\|/,$rec);

if ($a1 eq $FORM{id}){
$a5 =~ s/\+//g; #para cajas de texto multilineas

print "Content-type: text/html\n\n";
print "
<html>
<head>
<title>Editar</title>
</head>

<body>
<form method='POST' action='$this'>
<input type='hidden' name='op' value='retono_edicion'>
<input type='hidden' name='id' value='$a1'>

#Todas las cajas de edicion con value=token.

</form></body></html>/n";

Retorno de la edición :

$id = $FORM{id};

open (ORGDB,"<$database");
@ODB=<ORGDB>;
close (ORGDB);

open (DATABASE,">$database");
@DB=<DATABASE>;
foreach $rec (@ODB){
chomp($rec);
($nae,$nbe,$nce,$nde,$nee,$nfe)=split(/\|/,$rec);

if ($nae eq $id){
print DATABASE "$id|$FORM{'nombre_carrera'}|$FORM{'tiempo_cursa'}|$FORM{'costo_mensualidad'}|$FORM{'descripcion'}|$FORM{'id_planestudios'}\n";

}else{ print DATABASE "$nae|$nbe|$nce|$nde|$nee|$nfe\n"; }
}
close (DATABASE);


Guardar :

if ($op eq 'agregar') {
$id_carrera = &generatePassword;

########## VARIABLES CAPTURADAS DEL ENTORNO ##################
$nombre_carrera = $FORM{nombre_carrera};
$tiempo_cursa = $FORM{tiempo_cursa};
$costo_mensualidad = $FORM{costo_mensualidad};
$descripcion = $FORM{descripcion};
$id_planestudio = $FORM{id_planestudio};
$descripcion =~ tr/\n/+/;
$descripcion =~ tr/|/-/;

open (FILE1, ">>$database");
print FILE1 ("$id_carrera|$nombre_carrera|$tiempo_cursa|$costo_mensualidad|$descripcion|$id_planestudio\n");
close(FILE1);
print "Location: $this?r=$id_carrera\n\n";
}


Edición avanzada

if ($op eq 'visualizar') {


open (ORGDB,"<$database");
@ODB=<ORGDB>;
close (ORGDB);
$blanca = 1;


print "Content-type: text/html\n\n";
print "
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>
<title>Editar y Eliminar Carreras</title>
</head>
<body>

<h1>Editor de Carreras</h1><br>
<table border='0' width='100%'>
<tr>
<td width='5%' bgcolor='#FF0000' align='center'><b><font face='Arial' color='#FFFFFF'>Eliminar</font></b></td>
<td width='5%' bgcolor='#FFCC66' align='center'><b><font face='Arial'>Editar</font></b></td>
<td width='25%' bgcolor='#DFDFDF'><b><font face='Arial'>Nombre Carrera</font></b></td>
<td width='25%' bgcolor='#DFDFDF'><b><font face='Arial'>Costo</font></b></td>
</tr>
\n";


foreach $rec (@ODB){
chomp($rec);
($id_carrera,$nombre_carrera,$tiempo_cursa,$costo_mensualidad,$descripcion,$id_planestudio)=split(/\|/,$rec);



if ($blanca == 1) {

print "
<tr>
<td width='5%' bgcolor='#E9E9E9' align='center'><font face='Arial' size='2'><a href='$this?op=eliminar&id=$id_carrera'>Eliminar</a></font></td>
<td width='5%' bgcolor='#E9E9E9' align='center'><font face='Arial' size='2'><a href='$this?op=editar&id=$id_carrera'>Editar</a></font></td>
<td width='25%' bgcolor='#E9E9E9'><font face='Arial' size='2'>$nombre_carrera</font></td>
<td width='25%' bgcolor='#E9E9E9'><font face='Arial' size='2'>$costo_mensualidad</font></td>
</tr>
\n";

$blanca = 0;

}

else {


print "
<tr>
<td width='5%' align='center'><font face='Arial' size='2'><a href='$this?op=eliminar&id=$id_carrera'>Eliminar</a></font></td>
<td width='5%' align='center'><font face='Arial' size='2'><a href='$this?op=editar&id=$id_carrera'>Editar</a></font></td>
<td width='25%'><font face='Arial' size='2'>$nombre_carrera</font></td>
<td width='25%'><font face='Arial' size='2'>$costo_mensualidad</font></td>
</tr>\n";

$blanca = 1;

}
}

print "
</table>
</body>
</html>\n";
exit();
}

Hosted by www.Geocities.ws

1