From emhn at telcel.net.ve Wed Mar 28 07:44:03 2001 From: emhn at telcel.net.ve (Ernesto Hernandez-Novich) Date: Wed Aug 4 23:59:22 2004 Subject: Busco una manera mas "Perlera" de hacer esto. In-Reply-To: <01032807351400.04484@dyn.77.pam.icsa.es> Message-ID: 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 colocando en el cuerpo: "UNSUBSCRIBE caracas-pm-list" para desuscribirse. "INFO caracas-pm-list" para conocer las reglas de etiqueta. ------------------------------------------------------------------------