Busco una manera mas "Perlera" de hacer esto.

Ernesto Hernandez-Novich emhn at telcel.net.ve
Wed Mar 28 07:44:03 CST 2001


On Wed, 28 Mar 2001, Jose Luis Zabalza wrote:
> Seguro que hay una manera mas "perlera" de hacer esto :

Hay más de una forma de hacerlo :-)

> while(<>)
> {
> 	$Codigo=substr($_,0,2);
> 	$Nombre=substr($_,2,10);
> 	$Clase=substr($_,12,6);
> 	print "--------------------------------";
> 	print "$Codigo,$Nombre,$Clase\n";
> 	print "--------------------------------";
> 	print "Codigo : $Codigo \n";
> 	print "Clase  : $Clase \n";
> 	print "Nombre : $Nombre \n";
> 	print "--------------------------------";
> 
> }
> 
> El fichero que se le indicara al script perl como argumento o por stdin no 
> tiene separadores y en cada linea esta la informacion de un registro. 

while (<>) {
  chomp;
  ($code,$name,$class) = unpack("A2 A10 A6",$_);
  write;
  print join(",",$code,$name,$class), "\n";
}

format =
Codigo : @<
$code
Nombre : @<<<<<<<<<
$name
Clase  : @<<<<<
$class
.

> Las preguntas exactas son :
> 	- Como puedo separar un string sin separadores.

Con unpack(), man perlfunc

> 	- Como puedo insertarle los separadores (coma en este caso).

Con join(), man perlfunc

> Estoy intentando tomar "estilo perlero" pero me resulta dificil dejar de 
> pensar en C ;-)

Considérate afortunado porque piensas en un lenguaje de programación,
contrariamente a los que piensan en *BASIC con muchos GOTO's.
-- 
Ernesto Hernández-Novich - Running Linux 2.4.2 i686 - Unix: Live free or die!
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/E d+(++) s+: a C+++$ UBLAVHIOSC*++++$ 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++ y+
-----END GEEK CODE BLOCK-----

------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list