Mostrando entradas con la etiqueta Perl. Mostrar todas las entradas
Mostrando entradas con la etiqueta Perl. Mostrar todas las entradas

martes, 11 de octubre de 2011

Perl para monjes

Hoy, con un buen compañero, me ha estado introduciendo en el maravilloso mundo de perl. Como usuario, de pyhton, c++, bash... ¡¡Perl me ha dejado loco!! como puede alguien aclararse después de mil regexp más largas que la AP-7! No me sorprende que haya poetas de dicho lenguaje y que se hagan llamar monjes, porqué realmente es puro satanismo. http://www.perlmonks.org/


 Tampoco me sorprende que puedas ofuscar tu código usando camellos  y que el script siga funcionando como si nada. También soporta otras ofuscaciones,




Me pregunto lo que debe ser intentar aprovechar algo de alguien que haya seguido la metodología "spaguetty" y entender algo. Solamente con los operadores como <=> que usa la función sort por hoy he tenido bastante...

jueves, 18 de febrero de 2010

Borrar correos en cola Postfix

Me ha resultado muy útl el siguiente script. Ha sido la solución para borrar correos que me entraban de un servidor web comprometido. Me entraban con la dirección apache@dominio.com. con este script pasandole una dirección de correo, borra todos los correos en cola de dicha dirección.

#!/usr/bin/perl

$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!";

@data = qx;
for (@data) {
if (/^(\w+)(\*|\!)?\s/) {
  $queue_id = $1;
}
if($queue_id) {
 if (/$REGEXP/i) {
   $Q{$queue_id} = 1;
   $queue_id = "";
 }
}
}

#open(POSTSUPER,"|cat") || die "couldn't open postsuper" ;
open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;

foreach (keys %Q) {
print POSTSUPER "$_\n";
};
close(POSTSUPER);
Y si queremos ir más a piñón y borrar toda la cola...


/usr/sbin/postsuper -d ALL

viernes, 27 de noviembre de 2009

Interpretar fechas de Squid

Así podemos entender las fechas de squid
perl -pe 's/\d+/localtime($&)/e' access.log



miércoles, 27 de mayo de 2009

Fatal error: Class 'HttpRequest' not found in /var/www/index.php on line 2

he installation guideline is very insufficient. I've installed for Debian lenny/sid with the following step;

apt-get install php5-dev (to enable pecl command)
apt-get install libcurl3 (to get curl support)
apt-get install libmagic

and

pecl install pecl_http

pecl will download and compile but before that just follow the prompt. If the respective development library is not available in your system, the compilation will abort.

You should add "extension=http.so" to php.ini