• Publicidad

Formatos

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Funcion copiar

Notapor STM » 2008-07-07 10:24 @475

Hola de nuevo,
Muchas Gracias por el código.

Desearía hacer otra pregunta: en el archivo yo tengo la línea siguiente, en el archivo fuente:
Código: Seleccionar todo
OD.W.x      2.0

pero en el archivo final ella debe cuadriplicarse y pasar a ser:
Código: Seleccionar todo
OD.W.1      2.0
OD.W.2      2.0
OD.W.3      2.0
OD.W.4      2.0

pero no sé cómo programar eso en Perl.

¿Cuál es la instrucción que me permite copiar y pegar?

Muchas Gracias de antemano.
STM
Perlero nuevo
Perlero nuevo
 
Mensajes: 23
Registrado: 2008-07-01 07:12 @342

Publicidad

Notapor explorer » 2008-07-07 11:51 @535

Podrías copiar y pegar usando expresiones regulares. Pero creo que es más fácil hacerlo así: quitamos la parte final de ese campo y luego hacemos un bucle que vaya colocando números consecutivos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl

my $linea = "OD.W.x      2.0\n";

my @campos = split " ", $linea;

$campos[0] =~ s/[^.]+$//;

foreach ( 1 .. 4 ) {
    print "$campos[0]$_     $campos[1]\n";
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Sale:
Código: Seleccionar todo
OD.W.1     2.0
OD.W.2     2.0
OD.W.3     2.0
OD.W.4     2.0

Lo que hace la expresión regular es quitarle, al primer campo, toda (+) su parte final ($) que no sea un punto ([^.]).

Naturalmente, esta es una de las múltiples soluciones al problema. Seguro que hay más.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

cron