javoaxian cambió a: javoaxian.me
Este blog se mantendrá como histórico del nuevo javoaxian.me. Por tal motivo, sólo serán creados post que harán referencia a los del nuevo blog. Si hay dudas y comentarios, favor de hacerlos en javoaxian.me.
Mostrando entradas con la etiqueta Perl. Mostrar todas las entradas
Mostrando entradas con la etiqueta Perl. Mostrar todas las entradas

jueves, 13 de marzo de 2008

Plugin EPIC de Eclipse para programar en Perl

Éste es un plugin que nos permitirá realizar nuestros programas de Perl dentro de Eclipse.

Para instalarlo deberá ser por medio de su Update Site. Dirigete a mi artículo Instalar plugins en Eclipse en su sección "Instalar por medio de Update site" para realizar la instalación. Recuerda que cuando llegues a la parte de "New Remote Site" ingresa en "Name": EPIC y en "URL":

http://e-p-i-c.sourceforge.net/updates/testing

Una vez instalado podrás entonces crear tus proyecto de Perl y tu programas.

Para crear tu proyecto, ve al menú de Eclipse en: File -> New -> Project -> Perl -> Perl Project.

En la pantalla "New project" ingresa el nombre de tu proyecto y presiona "Finish".

Para abrir la perspectiva de Perl, ve a : Window -> Open Perspective -> Other -> Perl y presiona "Ok".

Para crear un programa presiona con el botón derecho sobre el nombre de tu proyecto en Perl y ve a: New -> Other -> Perl -> Perl File y presiona "Next".

En la ventana "New File" ingresa el nombre de tu programa y presiona "Finish".

Con esto ya se tiene instalado el plugin de Perl y listo para usar.

martes, 11 de marzo de 2008

Borrar un archivo o directorio recursivamente en GNU/Linux

Existen ocasiones en las cuales deseamos borrar un archivo o un directorio que se encuentra en otro directorio y también dentro de sus subdirectorios. Un ejemplo de ésto, son los archivo .svn que usa Subversion.

Para ejemplificar lo antes mencionado pondré el siguiente ejemplo:

$ rm -rf /home/javoaxian/proyecto/.svn /home/javoaxian/proyecto/modulo1/.svn /home/javoaxian/proyecto/modulo2/.svn

Esto es muy tedioso y tardado, para lo cual, realizé este script en perl, donde le puedes indicar el archivo o directorio que deseas eliminar y en que directorio lo va a buscar.

Aquí les dejo el código del script:
#!/usr/bin/perl
# Creado por: JavoAxian
# Año: 2007

$elementoABorrar = $ARGV[0];
$directorio = $ARGV[1];

if($elementoABorrar eq "")
{
print "Ingresa el Archivo/Directorio a borrar\n";
exit(0);
}
elsif($directorio eq "")
{
print "Ingresa el Directorio donde se encuentra el Archivo/Directorio a " .
"borrar\n";
exit(0);
}

$buscar = `find $directorio -name $elementoABorrar -print`;

@directorios = split(/\n/,$buscar);

print "Iniciando la eliminación del archivo/directorio: $elementoABorrar en " .
"el directorio: $directorio\n";

for($contador=0;$contador<@directorios;$contador++)
{
$dir = $directorios[$contador];
`rm -rf "$dir"`;
print "Archivo/Directorio eliminado: $dir\n";
}

print "Finalizando la eliminación del Archivo/Directorio: $elementoABorrar\n";

Copien el código anterior y peguenlo en un archivo. Para ejemplificar le pondré al programa el nombre de borrarArchivosRecursivamente.pl.
Para usarlo, deberemos darle permisos de ejecusión y posteriormente correr el comando recibiendo como argumentos el archivo o directorio para borrar y el directorio donde se encuentra el archivo a borrar:

$ chmod 755 borrarArchivosRecursivamente.pl
$ ./borrarArchivosRecursivamente.pl .svn /home/javoaxian/proyecto

La salida sería algo como ésto:

Iniciando la eliminación del archivo/directorio: .svn en el directorio: proyecto
Archivo/Directorio eliminado: proyecto/.svn
Archivo/Directorio eliminado: proyecto/modulo2/.svn
Archivo/Directorio eliminado: proyecto/modulo1/.svn
Finalizando la eliminación del Archivo/Directorio: .svn

Espero que les pueda servir.