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
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
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;
}
}