• Publicidad

Problema incrementar valor alfanumérico

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

Problema incrementar valor alfanumérico

Notapor gorkalinux » 2009-04-14 02:42 @154

Tengo un par de valores introducidos por teclado:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print "\ninicio [4 dígitos]: ";
my $inicio = <STDIN>;
chop ($inicio);

print "\nfinal [4 digitos]: ";
my $final = <STDIN>;
chop ($final);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


$inicio siempre es menor que $final. Pongamos que meto $inicio=9 y $final=11. Lo que quiero es crear los siguientes ficheros:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
for (my $i=$inicio; $i<=$final; $i++)
{
  open (OUT, ">", "read_".$i.".xml") or die "No\n";
  #ETC ...
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero en lugar de:

Código: Seleccionar todo
read_0009.xml
read_0010.xml
read_0011.xml


Me sale:

Código: Seleccionar todo
read_0009.xml
read_10.xml
read_11.xml


¿Alguien sabe cómo conseguir lo que quiero?
gorkalinux
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2009-04-14 02:23 @141

Publicidad

Notapor explorer » 2009-04-14 04:42 @237

Bienvenido a los foros de Perl en Español, gorkalinux.

Necesitas formatear la salida. Una forma de hacerlo es con printf():
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
for (my $i = $inicio; $i <= $final; $i++) {
    printf "read_%04d.xml\n", $i;
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Si quieres pasar el valor para luego abrir un fichero, pues entonces:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $fichero = sprintf 'read_%04d.xml', $i;
open OUT, '>', $fichero or die "ERROR: $!\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor gorkalinux » 2009-04-14 05:43 @280

Muchas gracias, Moderador. Una respuesta muy completa.
Perdón por el formato anterior.
Un saludo.
gorkalinux
Perlero nuevo
Perlero nuevo
 
Mensajes: 9
Registrado: 2009-04-14 02:23 @141


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 7 invitados

cron