PDF de programación - Cafe Perl Issue.v1.0

Imágen de pdf Cafe Perl Issue.v1.0

Cafe Perl Issue.v1.0gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 8 de Marzo del 2018)
342 visualizaciones desde el 8 de Marzo del 2018
276,2 KB
14 paginas
Creado hace 18a (17/04/2006)
Periódico de la Comunidad Perl
de Capital Federal
http://cafe.pm.org/boletines/

CaFe Perl v1.0

CaFe Perl v1.0 - Periódico de la Comunidad
Perl de Capital Federal

Editorial

Sorpresa !!

Año nuevo vida nueva ... o por lo menos
formato nuevo.

Y sí, en este número cumplimos un año de
publicación así que van a encontrar un
diseño renovado y mucho más visual que el
anterior, con muchas más oportunidades
para sentirse cómodos :

• el cambio a dos columnas permite un
revisión más rápida y una lectura más
fluida

• Los artículos van a incorporar facilidades

de interpretación

• el motivo y los colores son similares al

de nuestro site (http://cafe.pm.org)

Y todo esto con el más absoluto costado

Open Source, ese que empezó allá en los
'50 con los primeros hackers del MIT, que
siguió con el
libre flujo de información y
desemboca en la aparición del Open Source
, ese mismo que hoy usamos y nos da tanta
libertad y satisfacciones.

Y de todo ese camino recorrido por el Open
Source nos cabe preguntar
: qué le
devolvemos nosotros a la comunidad Open
Source en retribución de todo lo que nos
da ?

Hasta la próxima taza de CaFe Perl !!! ...
eso sí, café del bueno ;-).

Víctor A. Rodríguez (Bit-Man)

POC (peace of code)
Autor: n3krodamus

shell :

Acá va un breve truco para la linea de
comandos de UNIX.
Los otros días se me presento la tarea de
procesar unas fotos que venían de una
cámara digital para ser publicadas en una
web, debido a que soy extremadamente
vago para hacer las cosas y no me gusta
hacer nada repetitivo mas de una vez; me
plantee como hacerlo en un "quick and
dirty" con perl en la linea de comandos. La
tarea era simple, dado un grupo de
imágenes con extensión .JPG tenia que
renombrarlas con un numero cada una y
pasar sus nombres a minúsculas. Las
imágenes provenientes de estas cámaras
digitales ya de por si tienen una numeración
pero a mi no me servía porque yo tengo un
template armado que lee las imágenes
desde 1..n y con las extensiones en
minúsculas.
Entonces paso a explicar la tarea a realizar :

1. Tengo que recorrer el

listado de las
imágenes en el directorio para poder
numerarlas.

2. Genero el nuevo nombre para la imagen,
en este caso el numero de orden (Ej: 1,
2, 3, n)

3. Armo la línea que el shell va a leer con el
DSC435.JPG

comando mv (Ej: mv
1.jpg)

4. Ejecuto la línea de comando con una

llamada al system

5. Me tomo un café viendo como la

máquina hace el trabajo por mi.

Acá esta la linea de código que corrí en el

perl -e 'foreach(`ls *JPG`)
{chomp; ++$a; $b=$_; s/^(\w)
+/$a/;system "mv $b ".lc($_)."
\n"; }'

Explicación: Primero se arma un bucle
foreach que recorre como un array el
resultado de un 'ls -l *JPG', ojo no
confundir "`" con "'" ya que el primero lo
que hace es redireccionar
la salida del
comando ejecutado hacia una variable y el
otro simplemente se usa para declarar
strings de texto, de esta manera leo los
nombres de todas las imágenes en el
directorio de extensión .JPG . Luego hago
un chomp para eliminar el "\n" al final de la
línea de los nombres de las imágenes, de
esa manera cuando armo la linea de
comandos no me inserta un "enter" al final
del nombre viejo. Lo que sigue es
incrementar un contador para generar la
numeración nueva, después de eso me
guardo el nombre viejo de la imagen que
quiero renombrar. Finalmente con una
expresión regular cambio el nombre viejo de
la imagen por el numero para armar el
nombre nuevo (recuerden que el \w lee
caracteres [a-zA-Z] y de esa manera en
el punto que separa la extensión se
detiene). Como último comando hago la
llamada al system armando el comando mv
con el nombre viejo primero (que lo habia
guardado en $b) y el lc (lowercase) del
nombre nuevo; el lowercase lo puse porque
la extensión todavía esta en mayúsculas.
Voila!! en una linea de código hice todo el
trabajo sin mayores esfuerzos.
GRACIAS Larry Wall.

PERlitas
Entrevista y traducción :
Víctor A. Rodríguez

Todos conocemos la importancia de un una
interfaz de línea de comandos, pero hay
alguien que no sólo lo sabe sino que
también añoraba un shell extinto hace
mucho denominado Visual Shell (vsh), tanto
como para devolverlo a la vida valiéndose
de
Perl
(http://www.cs.indiana.edu/~kinzler/vshnu).
Esa persona es Steve Kinzler.

magia

de

la

Por favor Steve, una introducción para el
grupo CaFe.pm
Es un honor y un placer hacerlo.
He estado programando Perl como parte
central de mi trabajo por cerca de 17 años,
primero para administrar sistemas en la
Universidad de Indiana (IU), y ahora para
aplicaciones Web/Internet en la IU.
También lo enseño como parte de un curso
que desarrollé en la IU en 1996.
Perl es, en resumen, como lo llamó un
colega, el “lenguaje de los dioses”. No hay
otro lenguaje que yo conozca que nos
pueda acercar tanto al regocijo creativo y la
alquimia
la
programación de computadoras.
También tengo cierta notoriedad en ciertos
círculos por crear y llevar adelante el
Internet
Oráculo
(http://www.internetoracle.org)
otros
proyectos que datan de mis años de
juventud (http://www.kinzler.com). De hecho,
una Oráculo en Español fue establecido en
Argentina después de mi visita, aunque no
estoy seguro de su estado actual1.

cognoscitiva

inherente

de

en

y

fue la motivación para construir

Cuál
"vshnu" ??
Esto viene de hace mucho. Yo comencé con

Unix en 1982 con Bell Labs Version 7.
Un día obtuvimos una cinta de software cool
para agregarle desde Berkeley. Ahí,
junto
con un nuevo shell llamado “csh”, había un
shell orientado a pantalla llamado “vsh”. Yo
cambié de “sh” a estos dos. Ahora
adelantando 18 años ... csh prosperó y
evolucionó en “tcsh”, pero “vsh” está
perdido y olvidado por todos excepto por mi.
No me quería dar por vencido, pero el
código fuente era tan obsoleto que no me
era posible seguir portándolo a los sistemas
operativos modernos. También recolecté
muchas mejoras a las ideas de “vsh”. Así
que puse a un lado mi holgazanería y
abordé
reimplementación
completamente nueva. Después de varios
experimentos, sabía que Perl encajaría muy
bien, aunque sabía iba a ser algo no
convencional.
Decidí
tratar de hacer este proyecto mi
pieza maestra de Perl (suceso que debo
dejar a otros juzgar).

una

Obtuvo alguna ayuda de otros proyectos
Open source (código,
consejos, horas de
programación, etc.) ?
Por supuesto -- ningún proyecto open
source se crea en el vacío. Pero el proyecto
vshnu está tratando de reclamar algo del
territorio perdido y expandir y reintroducirlo,
así que la ayuda fue más en término de
herramientas, ambiente e ideas prestadas
que
código,
de
programación.

consejos

horas

u

Qué habilidades (relacionadas con Perl o
no) ganó mientras construía “vshnu” ?
Habiendo aprendido Perl 3 y 4, adopté
tardíamente los estilos y convenciones de
Perl 5. Con vshnu, verdaderamente traté de
escribirlo a la forma de Perl 5, aunque
espero a que mucho del viejo estilo vaya
desapareciendo.

1 N. del T. : la dirección de e-mail para suscribirse al
en

Oráculo
http://cgi.cs.indiana.edu/~oracle/intl.cgi#argentina
no puede ser alcanzada, con lo que se considera
que está inactiva

Internet

figura

que

de

futuros
Qué consejo le daría a los
diseñadores y hobistas que encaran un
nuevo proyecto ?
Depende mucho de la personalidad de cada
uno. Para mi la visión del proyecto es lo que
me guía y me hacer meterme y atravesar el
proyecto independientemente de su alcance
y los desalentadores standards. Me imagino
a otras personas buceando en él y
trabajando
una
evolución dinámica sería otra aproximación.
Por supuesto, manteniéndolo divertido y
compensador.

haciendo

otros

con

desmenuzar

En qué partes del código aconseja mirar a
los recién iniciados en Perl, para tener una
experiencia educacional placentera ?
Ninguno en particular me viene a la mente.
Sugiero
archivos
(vshnu y vshnucfg.pl) y encontrar lo que les
atrape la curiosidad o el interés. Mi estilo de
Perl presta mucha atención a la disposición
creativa del código y el alineamiento
vertical, que encuentro ayuda a crear código
correcto y proveer satisfacción estética,
aunque a menudo puede romper con las
“mejores prácticas”.

ambos

y

son

forma

colaboraciones
bienvenidas,

Cómo se puede colaborar con "vshnu" ?
Contribuciones
cualquier
supuesto.
Hay
porque
personalmente no me encuentro con ellas,
tales como la integración con otros shells y
acciones sobre distintos tipos de archivos
con los que no trabajo.

subatendidas

en
por

areas

Hay oportunidad para mejorar el diseño en
las claves y comandos. También, y ahora
que está presente el
reconocimiento de
eventos de mouse,
toda el area de
comandos con mouse y acciones está
abierta para el diseño e implementación.
Más documentación también sería útil.

Qué funcionalidades cree que faltan, y
cuáles agregará en el corto plazo ?

Aparte del ya mencionado soporte de
mouse, estoy trabajando en mejorar el
sistema de ayuda, agrupando los comandos
por funciones, y generando una guía de
referencia (incluidas las personalizaciones
propias).
También estoy considerando opciones por
directorio,
ideas
misceláneas.

como

otras

así

Qué similitudes/diferencias encuentra con
proyectos similares ?
Mientras supongo que vshnu podría ser
comparado con Midnight Commander, el
dired de Emacs y otros, creo que es lo
suficientemente diferente en aproximación y
diseño como para estar en una categoría
propia. La integración de vshnu con un shell
común como bash o tcsh es importante, ya
que no se tiene por qué perder todo por
usar vshnu, debería agregar más poder al
que ya se está usando. Yo todavía hago
tanto en tsch como en vshnu, y trabajo con
ellos como dos modos de un solo ambiente
shell.

Qué límites impuso Perl al proyecto ?
Límites? Perl? Eso no conjuga.

Alguna opinión o consejo sobre Perl 6 ?
Aquellos que aman Perl ahora pueden
amarlo unas magnitudes más. Los que lo
odian pueden hacerlo unas magnitudes
más.
Sobre los que están trabajando en él, que
se tomen todo el tiempo que sea necesario
y que sus almas sean bendecidas.

Algún módulo favorito de CPAN ?
Hmmm, estaría en problema
  • Links de descarga
http://lwp-l.com/pdf9326

Comentarios de: Cafe Perl Issue.v1.0 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad