Fortunes con javascript y perl

¿Quien no conoce las miticas frases que suelen salir cuando se hace login en un sistema? (al menos en Slackware), tambien conocidas como Galletas de la suerte, fortunes, o algo asi...

¿Seria curioso poder usarlas tambien en una pagina web y que cada vez que carge la pagina salga una diferente, no?, pues no es demasiado dificil. Si las instalaste " sudo apt-get install fortune " puedes encontrar varias en /usr/ share/games/fortunes/ , el formato que siguen es bastante sencillo, es texto plano, separando una "galleta" de otra con una linea con solo un %, seria algo asi:

Frase nº 1 % Frase nº 2 % Frase nº 3 ...

Siendo tan sencillo el formato, se pueden aprovechar facilmente los archivos para cualquier cosa, por ejemplo (o para descargar [fort2js.pl] ):

===============================================================================

!/usr/bin/env perl

if ($#ARGV != 1){ # Se comprueba que se especificaron los dos archivos     print "./fort2js.pl \n";     exit(0); }

$fname = $ARGV[0]; $foutname = $ARGV[1];

print "fort2js: ".$fname." -> ".$foutname."\r\n";

$fname = "<".$fname; # Archivo que se lee $foutname = ">".$foutname; # Archivo que se escribe $i = 0; # nº de fortunes open (F, $fname); open (O, $foutname); print O "function get_cookie(v){var cookie = new Array(\""; # Cabecera de la funcion

while ($line = ){     if (substr($line,0,1) eq "%"){ # Si es el fin de una fortune         print O "\",\""; # Nueva posicion en el array         $i++; # Una fortune mas     }     else{         $line =~ s/\ \ /\ /g; # Se eliminan los dobles espacion         $line =~ s/"/\"/g; # Se escapan las comillas         $line =~ s/\n//g; # Se cambian los saltos de linea por
        $line =~ s/\r//g; # Se eliminan los retornos de carro         print O $line;     } } print O "\");return cookie[v]}"; # Fin de la funcion print O "function max_cookie(){return ".$i.";}"; # Funcion max_cookie() close F, O; ===============================================================================

Esto sirve para convertir un archivo de fortune's en uno de Javascript que permita usar las "galletas" con dos funciones, get_cookie(i) para recuperar la frase numero i y max_cookie() que servira para saber de cuantas "galletas" podemos hacer uso. El archivo que resulta de hacer ./fort2js.pl < archivo de salida> se puede usar muy facilmente, solo habria que subirlo a algun lugar, y añadir algo como esto al codigo HTML donde queramos que se muestre:

===============================================================================

=============================================================================== Y ya estan listas las galletas de la fortuna :D

Hasta ahora! [Referencias] http://www.w3schools.com/js/default.asp http://en.wikipedia.org/wiki/Fortune_(Unix)

untagged

Introduccion a la criptografia, con Python: ElGamal (V -1 ) » « Trasteando con Gambas