por explorer » 2014-02-15 18:49 @826
Para leer los parámetros, como no das más información, supondremos que los leeremos a través de los argumentos pasados al programa (parámetro). En ese caso, lo que tienes que hacer es leer el array @ARGV.
Luego, tienes que comprobar que el directori existe. Eso lo puedes hacer con chdir(). Si falla, entonces es que no existe (o no tienes permiso de lectura de la unidad).
Luego, para sacar los archivos del directorio, puedes usar un operador diamante, así:
my @archivos = <*>;
o mejor, con un opendir(), y luego un bucle while() con un readdir().
Por cada archivo leído, con ayuda del operador -s, sacas el tamaño que tiene el archivo. Haces un if() para saber si el tamaño supera los 10_000_000, entonces lo guardas en un array aparte.
Finalmente, haces un nuevo bucle que recorre ese array, y pintas el nombre del archivo dentro de una serie de marcas HTML (dentro, naturalmente, de una cabecera y pie de página en HTML).
Sigo sin saber a qué te refieres con Unidad, porque, en los sistemas Unix, con dar el directorio, vale. Según el ejemplo que pones ahora, Directorio sería el '/home', la Unidad sería '10', y Tamaño 'MB'. En ese caso, hay que hacer antes una serie de cálculos, para transforma el 'MB' y el '10', en 10_000_000, que es lo que necesitamos para hacer las comparaciones.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES