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