• Publicidad

Seleccionar los primeros ficheros de un directorio

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

Re: Seleccionar los primeros ficheros de un directorio

Notapor explorer » 2012-04-07 06:19 @305

Te vuelvo a pedir que, cuando escribas un mensaje en estos foros, acostúmbrate a ponerle marcas de texto a las zonas que quieres que salgan formateadas de esa manera.

Fíjate que nos hablas de "3 espacios"... pero ¡no los vemos! porque por defecto, la representación de tu mensaje sigue las reglas de formateo del HTML como si fueran un párrafo normal.

Por encima de la caja de edición del mensaje, justo debajo de la caja Asunto, verás los típicos botones de negrita, inclinada, subrayado, etc. Y debajo, botones para poner marcas Perl, bash, XML, HTML, JavaScript, PHP, SQL y Texto. Solo tienes que seleccionar con el ratón o el teclado el texto que quieres marcar, y pulsar uno de estos botones.

Ejemplo. No es lo mismo poner esto:

A B C D E F
123 23545 43545 43545 66 123
Hola Yea! Adeu mes Good! Folio

que esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
A        B        C        D        E        F
123      23545    43545    43545    66       123
Hola     Yea!     Adeu     mes      Good!    Folio
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


En cuanto a tus preguntas:

1. No. El operador qw() solo entrecomilla. Nada más. Para lo que quieres te vale un bucle, que puedes escribir de 21 formas distintas. Por ejemplo, algunas de ellas:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my @file;
  2. for (my $i = 0; $i <= 15; $i++) {
  3.     $file[$i] = "gfs.t00z.pgrbf$i.grib2";
  4. }
  5.  
  6. # ---
  7.  
  8. my @file;
  9. for (my $i = 0; $i <= 15; $i++) {
  10.     push @file, "gfs.t00z.pgrbf$i.grib2";
  11. }
  12.  
  13. # ---
  14.  
  15. my @file;
  16. for my $i (0 .. 15 ) {
  17.     push @file, "gfs.t00z.pgrbf$i.grib2";
  18. }
  19.  
  20. # ---
  21.  
  22. my @file;
  23. for (0 .. 15 ) {
  24.     push @file, "gfs.t00z.pgrbf$_.grib2";
  25. }
  26.  
  27. # ---
  28.  
  29. my @file = map { "gfs.t00z.pgrbf$_.grib2" } 0 .. 15;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


2. Si en Perl pones 3 espacios, Perl pondrá tres espacios. Si no te lo crees, te vale con abrir el resultado en un editor de textos.

Si ves que salta a la línea siguiente, échale las culpas a la hoja de cálculo que estás usando: ha visto que la celda es demasiado ancha y ha formateado su contenido, dando por supuesto que podía partirla por el punto más débil: los espacios en blanco.

Solución: dile a la hoja de cálculo que no lo haga. En la mayoría de hojas se puede cambiar el formato de presentación de una celda o de toda la hoja, para que no haga eso.

Otra solución: hacer más ancha la primera columna después de importarla. O combinar las dos primeras celdas de la primera fila, también después de la importación.

Humm... se me ocurre una tercera, que sería manipular la información de partida, por programa, pero ahora recuerdo que, si lo importo en una hoja de cálculo, no sabría cómo indicarle, que ese dato va en dos celdas, y no en una.

Editado: releyendo el problema, veo que en realidad quieres 16 ficheros en que el nombre vaya sumando de 3 en 3, así que se debería escribir así (una de ellas):
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my @file;
  2. for (0 .. 15 ) {
  3.     push @file, sprintf("gfs.t00z.pgrbf%02d.grib2", $_ * 3);    
  4. }
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

Publicidad

Re: Seleccionar los primeros ficheros de un directorio RESUE

Notapor enric73 » 2012-04-10 07:29 @354

Hola explorer y demás,

Recogido: la próxima vez añadiré las marcas de texto donde sea necesario, ¡no me acordé! Tomo nota.

Tenías razón, tuve que cambiar el formato de edición en el editor de texto. Y gracias por la variedad de bucles :)

¡Buenos días! Y gracias.
enric73
Perlero nuevo
Perlero nuevo
 
Mensajes: 154
Registrado: 2012-03-16 06:27 @311

Anterior

Volver a Básico

¿Quién está conectado?

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