Saiyine
Punto Com

Generar un numero determinado de ficheros de texto

2003-10-28 00:00:00

Ayer en clase de Algoritmos II el profesor comento, ante el pasmo de la concurrencia, que estaba pensandose poner como practica hacer un buscador de internet, y que iba a dar UN MILLON de paginas para hacer las busquedas. Evidentemente, añadio, no se iba a poner a bajar un millon de paginas de internet, asi que estaba estudiando como hacer un programa que las generase.

Asi que pense, pues vaya, no tiene mucha complicacion, eso lo hago yo en diez minutos, y efectivamente, eso fue mas o menos lo que tarde en programarlo anoche cuando llegue a mi casa. Es, claro, una prueba de concepto, hay mucho que pulir, pero basicamente ya funciona, por la entrada estandar le pasas un fichero de texto para que se haga un diccionario, y crea tantos ficheros .html con texto al azar como le digas, y mas o menos del tamaño que le indiques. Aqui lo teneis, GenerarHTML:

#!/usr/bin/perl $param = @ARGV; if ( $param != 2 ) { print "Uso: GenerarHTML ficheros tamaño_aproximado\\n"; print " GenerarHTML 100 50000\\n\\n"; exit; } srand(); @entrada = <STDIN>; $param = "@entrada\n"; while ( $param =~ /\b(\w+)\b/ ) { $param =~ s/\b(\w+)\b//; push @palabras,$1; } $numpalabras = @palabras; foreach $fichero (1..$ARGV[0]) { open (f1,">".$fichero.".html"); $escrito=0; while ( $escrito < $ARGV[1] ) { $numerito=int ( rand ( $numpalabras ) ); print f1 $palabras[$numerito]; if ( $numerito % 10 == 0) { print f1 "\\n"; } else { print f1 " "; } $escrito=$escrito+length($palabras[$numerito])+1; } close(f1); }

Rollos antiguos

2003-11-02 00:00:00 - Filtro antispam en una carpeta de correo Maildir.

2003-12-29 00:00:00 - Calculadora modo texto.

2004-01-28 00:00:00 - Dejar pasar desde o hasta una linea.

2004-01-28 00:00:00 - Ejemplo de acceso a un fichero binario.

2004-12-16 00:00:00 - Extraer URLs de la entrada estandard.

Saiyine

Selfie of meHi! Welcome to Saiyine Punto Com where I talk about anything that goes through my mind!

Puedo prometer y prometo que a la mayor brevedad aquí irá un menú o algo asín.