[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"