Perl: warning setting locale failed en Ubuntu Linux

3/01/2012

En uno de mis servidores de prueba, encontré un error bastante extraño y que en verdad me tomo tiempo encontrar la solución, al ejecutar casi cualquier orden en la linea de comandos, salía algo así:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “en_US”,
LC_ALL = “utf-8″,
LC_CTYPE = “en_US”,
LANG = “en_US”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).

La solución es simple, solo hay que ejecutar los siguientes comandos como root, o con sudo antes:

$ apt-get install language-pack-en

$ export LANGUAGE=en_US.UTF-8

$ export LANG=en_US.UTF-8

$ export LC_ALL=en_US.UTF-8

$ locale-gen en_US.UTF-8

$ dpkg-reconfigure locales

Para verificar la solución, solo hacemos un:

$ locale

No Comments

Perl para reemplazar cadenas de texto en archivos

23/12/2009

Aquí un tip rápido para buscar cadenas de texto dentro de un patrón de ficheros o también para uno solo. Por ejemplo, si tenemos 100 ficheros que en algún lugar en su interior contienen una cadena que queremos reemplazar, nos hará el trabajo pesado en un par de segundos.

Esta es la sintaxis:

perl -pi -e ‘s/cadena vieja/cadena nueva/g’ patron

Un ejemplo practico seria:

perl -pi -e ‘s/index.html/index.php/g’ *.html

No Comments

Poema Geek en Perl

25/02/2008

Perl es un lenguaje de programación amado por los que lo usan y odiado por lo que no lo critican, existe un buen debate al respecto, pero eso es harina de otro costal. A continuación un poema llamado “Open Heart” hecho en Perl:

open (HEART, “>for_me”);
for ($this-valentines-day; $you and $me; $together++) {
$you = “My special one”;
$me = “Your darling”;
}

%time = ($you => $me, $together => “forever”);
while ($you = push(@me, @away)) {
foreach (@second) {
die a_bit to my $death;
goto hell;
}

pack $my_bags, @and_leave;
package my_love;
unless(!$i_see_you) {
write YOU_SOON;
}
}

reverse keys %time;
bless me;
for (last; kill $me;) {
if ($you) {
die;
}
}

2 Comments