[Perl] Como hacer justificaciones a impresion en archivo
Jose Antonio Galicia
jcgalici@cbbanorte.com.mx
Fri, 20 Dec 2002 12:17:05 -0600 (CST)
On Fri, 20 Dec 2002, Ricardo Cumberbatch L. (PANNet - URC) wrote:
> sub Creator {
> ...
> @<<<<<<<<< @<<<<<<<<<<<<<< @<<<<<<<<<<< @<<<<<<<<<<< @<<<<<<<<< @<<<<<<<<<
> $linea1[0],$linea1[1], $linea1[2], $linea1[3], $login, $passwd
> .
¿Estas dejando con esos espacios al principio? Los formatos
terminan con un punto en la primer columna de una linea vacia.
Cuando escribo ejemplos hago esto:
$ comando --opciones y argumentos
con su salida
para que se note claramente que estoy "desplazando" lo que
aparece en la pantalla en una situación real. El '$' es mi
prompt y en este caso "con su salida" es lo que regresa el
programa "comando". Así las cosas, si pongo:
$ perl -e 'format =
@<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$L[0],$L[4]
.
open F, "/etc/passwd"; while (<F>){@L=split ":"; write}'
debes verlo como que mi margen izquierdo esta donde aparece
el '$' y que todas las líneas estan alineadas al mismo.
Ahora, lo hago así porque es el mismo esquema que se usa en
la documentación.
Así las cosas, si aparece:
print <<FIN;
Esto se
imprime
en escalera
intencionalmente
FIN
debes leerlo como que "FIN" va alineado a la izquierda en
una línea que sólo lleva la "marca". Ve:
print <<OTRO;
este es OTRO ejemplo
que OTRO día use
OTRO resultado
OTRO
OTRO
experimenta al respecto y nos dices tus dudas.
Regresando a tu código:
> @<<<<<<<<< @<<<<<<<<<<<<<< @<<<<<<<<<<< @<<<<<<<<<<< @<<<<<<<<< @<<<<<<<<<
> $linea1[0],$linea1[1], $linea1[2], $linea1[3], $login, $passwd
> .
si estas dejando los espacios antes del punto entonces el
parser de perl no "ve" el fin del formato por lo que se va a
quejar.
Ahora debes poder entender mejor mis ejemplos. Y por favor,
no cites todo el mensaje; cita sólo esa parte que es
interesante al comentario.
Saludos,
Toño
---
"The Lord gave us farmers two strong hands so we could grab as much as
we could with both of them."
-- Joseph Heller, "Catch-22"