Hola tengo un script en cgi que me encontré por ahí ue lo que hace es leer datos contenidos en un txt y son mostrados cuando son consultados por un formulario de búsqueda:
Digamos que los datos del txt son de esta manera
Calle Luis Alfredo;[email protected];
Calle Renteria Eddy Martin - Exa - Piu - 200529;[email protected];
Calle Riofrio Paola;[email protected];
Camacho Gutierrez Julio - Piu - 990419;[email protected];
Bien el código del CGI es este
#!/usr/bin/perl -- -*-perl-*-
print ("Content-Type: text/html \n\n");
print <<"ENCABEZADO";
ENCABEZADO
# ------------------------------------------------------------------------------------------------
#
# Modificado para no afectar el archivo original (= no traducir minusculas en mayusculas)
#
# ------------------------------------------------------------------------------------------------
# -------------------------------
# Acceso a los datos transmitidos
# -------------------------------
read (STDIN, $save_string, $ENV{CONTENT_LENGTH});
@prompts=split(/&/, $save_string);
foreach (@prompts) {
($name, $value)=split(/=/, $_);
$name =~ s/\%(..)/pack("c", hex($1))/ge;
$value=~ s/\%(..)/pack("c", hex($1))/ge;
}
# ------------------
# PROGRAMA PRINCIPAL
# ------------------
open(IN, "externos.txt");
# ------------------------
# Extraccion de los campos
# ------------------------
$linea=<IN>;
@NombreCampo=split(";", $linea);
$encontrados=0;
while($linea=<IN>) {
@FLD=split(";", $linea);
# -----------------------------
# Copia de la linea del archivo
# -----------------------------
$busqueda=$linea; # Copiar para no afectar original
$busqueda=~ tr/a-z/A-Z/;
# --------------------
# Criterio de busqueda
# --------------------
$criterio=$value; # Cadena ingresado por el usuario
$criterio=~ tr/a-z/A-Z/; # Convertir minusculas en mayusculas
$i=0;
if ($busqueda=~ /$criterio/) { # Igual a busqueda ?
foreach(@FLD) {
$dato=$_;
if ($linea=~ /""/) {
$dato="No se indico"
}
# -------------------------------------
# Resultados de busqueda en codigo HTML
# -------------------------------------
print <<"TABLA";
<center>
<table border="0" width="400" cellspacing="0" cellpadding="2">
TABLA
if (($dato ne /""/)) {
#------------------------------------------------------------------
En esta parte de acá quiero que sea utilizada en lugar de usar la de abajo ya que muestra todo en una sola fila y dos columnas, ya que en la primera columna muestra Nombre e Email, y en la segunda muestra los datos encontrados en el txt la verdad que espero que me entiendan lo que quiero, porqué me enriendo mucho, y disculpenm si los confundo!
print "<tr>";
print "<td width=\"23%\">td>";
print "<td width=\"77%\"></td>";
print "</tr>";
print "<tr>";
print "<td></td>";
print "<td> </td>";
print "</tr>";
print "<tr>";
print "<td></td>";
print "<td> </td>";
print "</tr>";
print "<tr>";
print "<td></td>";
print "<td> </td>";
print "</tr>";
#------------------------------------------------------------------------
print "<tr>";
print "<td width=\"15%\" bgcolor=\"#003366\"><font face=\"Tahoma\" size=\"-1\" color=white></b></font></td>";
print "<td width=\"85%\"><font face=\"Tahoma\" size=\"-1\" color=black>";
if ((@NombreCampo[$i] eq "Email")) {
print "<a href=\"mailto:$dato\"><font face=\"Tahoma\" size=\"-1\" color=\"blue\"><u>";
}
print $dato;
if ((@NombreCampo[$i] eq "PAGINA")) {
print "</u></font></a>";
}
print "</td></tr>";
}
print <<"TABLA";
</table>
</center>
TABLA
$i=$i+1; # Numero de coincidencias por linea
}
# ----------------------
# Cantidad de resultados
# ----------------------
$encontrados=$encontrados+1;
print "<p>"
}
}
# -------------------------------------------
# Con este comando estoy completando la tabla
# -------------------------------------------
print <<"CIERRATABLA";
CIERRATABLA
close (IN);