Webmonkey
Webmonkey
Provisto por Atomz.com
Perl/CGI
-------------

Páginas:
1  Intro a Perl para CGI
2  Las Reglas del camino
3  Abajo y a Bailar!
4  Contadores, Arreglos y Arreglos Asociativos
5  Operadores de Perl -¿Qué número por favor?
6  Con este Loop, Yo te caso
7  Siendo Manipulado
8  Mi Bebé ha crecido!
9  Volviendo Perl en CGI
10  La diferencia de CGI
11  Como en las películas
12  Ordenando la Entrada
13  Haciendo la Comparación
14  Es un fabuloso Script CGI!



Intro a Perl para CGI

Página 7 — Siendo Manipulado

Sin algo que manipular, lo único que has hecho el día de hoy es perder tu tiempo. ¿Así es que como le hace para manipular la información? usando la maravilla llamada input-output. Hay dos formas de input y output: input-output del usuario y el input-output usando archivos.

El input del usuario es cuando el usuario explícitamente le dice al script que haga algo. El output es cuando el script habla directamente con el usuario. Esto se hace mediante el input y el output standard. El input es recibido leyendo el archivo, el archivo manejado. A pesar de que el input standard no es un archivo. Verás a lo que me refiero cuando digo el archivo de input-output. La entrada input se lee de la siguiente manera:

$usersaid = <STDIN>;

Los manejadores de archivos son siempre escritos con letras mayúsculas para poder ser fácilmente identificables. Mi fabuloso editor Evany preguntó si tenía algo que ver con amor. Lo primero que pensé fue, "Demonios, ¿está sugiriendo que estoy pasado de peso?" Pero afortunadamente, no tiene nada que ver con amor. Los manejadores de archivos son la representación en un script de un archivo abierto. El standard input y el output son siempre considerados abiertos, así que no necesitas abrir o cerrarlos como los archivos regulares que te mostraré en un minuto. La sentencia $stuff = <INPUT>; leerá una línea de entrada en la variable $stuff del archivo manejador INPUT. La línea anterior presentará al usuario una línea para ingresar algo. Después lo que sea que haya sido metido será guardado en la variable $usersaid.

El comando print que has visto que lo he usado en ejemplos anteriores es el método standard de sacar información. El comando print es puesto como default para imprimir el standard output, así que no necesitas especificarlo con otros manejadores de archivos. Para imprimir el input del usuario en la pantalla, usarás:

print "$usersaid";

Con esto en mente, puedes poner junto un bonito juego de adivinar:
#!/usr/local/bin/perl



print "\nIntroduzca un número, por favor: ";

$guess = <STDIN>;

while ($guess != 20) {

print "\nMal! No le atinó! Imagine otra vez!";

$guess = <STDIN>;

}

print "Diantres! Le atinó!";

Usando el loop while, probamos la entrada del usuario $guess y seguimos en el loop hasta que le atinó. Y creanme, ¡esto no es lo mas irritante que puede hacer! Para asegurarte que este dispositivo tortura es bueno y fácil de leer para su víctima, usa algunos cambios de línea con \n, que es el caracter que hace un nueva línea en Unix.

Puedes hacer input y output a tus archivos con solo unos pasos mas. Primero debes de abrir el archivo, similar a como debes de abrir una lata de pepinillos. Como yo, siempre le tendrás que dar un nombre a cada lata. Así la buscas en el lugar adecuado en el refrigerador, mediante su nombre. Así que piensa en un descriptor para tu archivo, pon el path (ruta) del archivo y usa el comando open. Aquí está como:

open (NOMBRES, "/usr/people/ferm/names.txt");

Una vez que el archivo está abierto, puedes leer una línea del archivo a la vez (de la misma manera que lo hacías con el usuario) haciendo los siguiente ...
$fileinput = <NOMBRES>;

... y asignándoselo a una variable escalar. O puedes leer todo el archivo en un arreglo, en cada localidad estará cada línea:
@fileinput = <NOMBRES>;

¿Estás conmigo, hasta aquí? El archivo input debe ser abierto antes. Después leer una línea a la vez, o todas al mismo tiempo. Después de que ya tienes la información, ten la responsabilidad de cerrar el archivo. Y esto nos lleva a la Regla #7.

Regla #7: Dices que no puedes escribir y leer un archivo al mismo tiempo. El cierre se hace de la siguiente manera:

close (NOMBRES);

Hay dos formas de escribir en un archivo: escribiendo y agregando. Escribiendo borra el contenido de todo el archivo y escribe sobre el archivo. O si el archivo no existe, crea un archivo en el cual poner la información. Agregando, agrega la información al final del archivo existente.

Es como esto: es como tener a una persona muerta llamada Jerry. Si ya existe un Jerry en el cementerio, saca al viejo Jerry y mete al nuevo. O bien puede hacer un nuevo agujero si es que no existe. Agregando es como tener a los dos Jerrys en el mismo agujero.

Escribiendo:

open (OUTFILE, ">/usr/people/ferm/perllog.txt");

Agregando:
open (OUTFILE, ">>/usr/people/ferm/perllog.txt");

Una vez que decides como quieres escribir en un archivo, necesitas imprimir el manejador del archivo. Es como imprimir el output standard, excepto que especifica explícitamente donde quieres imprimir usando el manejador del archivo en medio del print y de lo que quieres escribir:
print OUTFILE "Aquí hay una línea de salida";

Y no olvides cerrar ese archivo!

siguiente página»



Feedback  |  Ayuda  |  Acerca de Nosotros  |  Publicite
Política Editorial  |  Términos y Condiciones

Copyright © 1994-2000 Wired Digital Inc., a Lycos Network site.
Todos los derechos reservados.