Formas faciles de imprimir muchas lineas.
Daniel Sol Llaven
daniel@simba.dgsca.unam.mx
Mon, 8 Sep 1997 15:07:25 -0600 (CST)
Saludos!!!
Recien vi un mensaje diciendo que no es necesario el poner la
acostrumbrada bateria de prints en perl cuando se desea imprimir una
serie de lineas en Perl.
Lo cual es completamente cierto.
A modo de complemento, me atrevo a sugerir algunas formas mas o menos
faciles para imprimir varias lineas.
Mediante un print con entrada de codigo (uso de <<)
Print permite que se le especifique lo que ha de imprimir en una especie
de campo (cuyo delimitador ponemos nosotros), de modo que lo que se ponga
a continuacion de el y hasta el terminador es escrito en la salida
especificada, incluyendo vueltas de carro y substitucion de variables.
Por ejemplo, y para todos los ejemplos, supongamos que deseamos escribir:
Content Type: text-html
<HTML><HEAD>
<TITLE>Documento de Prueba</TITLE>
</HEAD><BODY>
<H1>Este es un documeto de prueba</H1>
Y como tal debe de decir algo<p>
</BODY>
</HTML>
Por supuesto, esto requiere de los saltos de linea y todo lo demas.
El codigo para hacerlo es simplemente:
print << "Delimitador";
Content Type: text-html
<HTML><HEAD>
<TITLE>Documento de Prueba</TITLE>
</HEAD><BODY>
<H1>Este es un documeto de prueba</H1>
Y como tal debe de decir algo<p>
</BODY>
</HTML>
Delimitador
# Voila!, eso es todo. notese que si usiera variables SI se
# substituirian, por lo que si quiero poner $ o @ debo anteponerles una \
Ademas, con el afan de hacer mas facil el mantener estos pedazos de
texto, en lo personal me gusta ponerlos en archivos que luego el CGI (o
el programa si no son HTML) imprima.
Asi pues, si el texto esta en un archivo, digamos "texto.txt" podemos
colocar ne el programa:
(Version Purista)
open(AE,"texto.txt");
while(AE)
{
print;
}
close(AE);
Lo que al fin y al cabo seria equivalente de:
(version reduccionista);
print `cat texto.txt`; #Esto solo funciona en Perl 5.002 o superior.
# En la version 4, !no hace falta el print!
Bueno, esas son solo algunas ideas, se aceptan mas: Daniel Sol Llaven
Bolo Lacertus: lacertus@servidor.dgsca.unam.mx ==~\___\
http://132.248.71.81/cgi-bin/lacertus/hola =__vvvv
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/GE/GED d>d? s:+ a-- C++>+++$ US+++$ P++++$ L E? W++>+++ N++ o? K-
w--- O !M V-- PS+ PE-- Y+ PGP++ t+ 5? X- R@ tv-- b++@- DI++ D+ G++ e+>++
h* r++(*) z+
------END GEEK CODE BLOCK------