Hola.
Bienvenido al foro, y no te preocupes, no hay pregunta demasiado básica para nosotros
Digamos que tienes un archivo con los siguientes datos:
Using text Syntax Highlighting
Alberto
Pepe
Juan
Uriel
Pedro
Joaquin
Gonzalo
Ezequiel
Pablo
Roberto
Jorge
Tomas
Jesus
Ruben
Juda
Daniel
Samuel
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Entonces, lo que vamos a hacer es leer el archivo, ordenar los nombres por alfabeto y mostrarlos por pedazos.
Primero abrimos el archivo y guardamos todo el contenido en un
array ordenado de manera alfabética:
Using perl Syntax Highlighting
open my $file, '<', 'archivo_nombres.txt' or die("No se pudo abrir el archivo");
my @nombres = sort <$file>;
close $file;
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Ya tenemos todos los nombres guardados en nuestro
array @nombres. Ahora vamos a crear dos variables con los contadores:
Using perl Syntax Highlighting
my $objetos_por_pagina = 10;
my $contador_inicial = 0;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
La primera variable "$objetos_por_pagina" nos sirve para saber cuántos objetos debemos desplegar iniciando desde el "$contador_inicial". Por ejemplo, con los valores que tiene ahora, veríamos los nombres del 0 al 10.
Ya con eso ahora vamos a imprimir los nombres:
Using perl Syntax Highlighting
my $num = $contador_inicial;
for ( $contador_inicial .. ( $contador_inicial + $objetos_por_pagina ) ) {
print "$num: $nombres[$num]\n";
$num++;
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Y listo, de manera sencilla abrimos el archivo con nombres y los desplegamos por partes.
El código completo:
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use strict;
open my $file, '<', 'archivo_nombres.txt' or die("No se pudo abrir el archivo");
my @nombres = sort <$file>;
close $file;
my $objetos_por_pagina = 10;
my $contador_inicial = 0;
my $num = $contador_inicial;
for ( $contador_inicial .. ( $contador_inicial + $objetos_por_pagina ) ) {
print "$num: $nombres[$num]\n";
$num++;
}
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Saludos