Factorial en PoL:
perl -le 'sub k { return ($_[0] * (k($_[0]-1))) if ($_[0] > 1);return 1;} print k($ARGV[0]);' 2
básicamente Factorail es:
n * n-1 * n-2 * ... * 1
Para hacer una funcion recursiva simplemente vemos
n * (n-1) * (n-2) ... * 1
Lo que basicamente indica la pate que uno tiene que usar como recursiva:
(n-1)
Y para perl
sub fact {
return ( $_0] * (fact($_[0]-1)) if ($_[0] > 1) ;
return 1;
}
Mostrando las entradas con la etiqueta pol. Mostrar todas las entradas
Mostrando las entradas con la etiqueta pol. Mostrar todas las entradas
viernes, 21 de noviembre de 2014
PoL: Factorial
miércoles, 27 de abril de 2011
substitución con ejecución con lo obtenido
Hay varias veces, sobre todo procesando logs, que necesitamos verlo de mejor manera (por ejemplo, los logs del squid, que ponen la hora en epoch).
Ejemplo:
Para poder ver mejor los logs, simplemente con POL (Perl One Liner), es simple:
La salida va a pasar a ser:
Ejemplo:
1303873213.829 21 127.0.0.1 TCP_MISS/200 2993 GET cache_object://localhost/info - NONE/- text/plain 1303873217.363 21 127.0.0.1 TCP_MISS/200 2993 GET cache_object://localhost/info - NONE/- text/plain
Para poder ver mejor los logs, simplemente con POL (Perl One Liner), es simple:
$ perl -pe 's/^(\d+(?:\.\d{3}))\s/scalar(localtime($1)) /e' access.log
La salida va a pasar a ser:
Wed Apr 27 00:00:13 2011 21 127.0.0.1 TCP_MISS/200 2993 GET cache_object://localhost/info - NONE/- text/plain Wed Apr 27 00:00:17 2011 21 127.0.0.1 TCP_MISS/200 2993 GET cache_object://localhost/info - NONE/- text/plain
Suscribirse a:
Entradas (Atom)