• Publicidad

Modulo Kreader Ver 1 -->

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Modulo Kreader Ver 1 -->

Notapor danimera » 2006-09-09 07:39 @361

Bueno esta es un Pequeño testimonio para todas las personas que inician en Perl,
Esto es lo que logre no es la Gran cosa para expertos, pero me ha facilita mucho las aplicaciones donde maneje ficheros y tenga que usar campos, puedo manipular ficheros fácilmente, y me ahorro tener que instalar y crear esa base de datos que para cositas pequeñas yo creo que es perder el tiempo.

Agradecimientos a:

Explorer: Siempre me responde todas mis dudas, es mas rápido que buscar en un libro de Perl o Internet. ^^
MonoSwin: Ese es mi master, a ese le debo que no halla renunciado a Perl, espero pronto superarlo ^^.
Uriel: Ese tutorial de ficheros base de datos me sirvió mucho, aunque me base en el, optimice algunas funciones y anexe la función para Editar o modificar campos que no la vi.

Aquí dejo el modulo Kreader Version 1, las funciones que tiene y lo poderoso y útil que puede ser en ciertos momentos, hasta que me enseñen a hacer POD:

http://www.mccreaciones.com/kreader.pm

makefile(“fichero.dat”, @campos) # Crea un fichero con ese nombre y crea los campos, automáticamente crea el campo ID, asi que no es necesario crearlo.

Swrite(“fichero.dat”,@campos) # Agrega campos auto incrementando el ID, los campos deben estar en orden como se ingreso en el makefile.

Fwrite(“fichero.dat”,%campos) # mas poderoso que el swrite, permite insertar registros por un hash, ingresa el valor donde el campo sea igual al nombre de la llave, En caso de que halla campos distintos a los campos del fichero, saldrá una advertencia, de lo contrario devolverá 1.

Pedit(“fichero.dat”,’$id’,%campos_valores) # lo que hace es editar el registro id los valores de los campos dados en el hash %campo_valores, %campos_valores={‘campo1’,’valor1’,’campo2’,’valor2’}; . Si el id indicado no existe se agregara uno nuevo # Esto puede hacer que cambie la consecutividad del id del fichero

Cfind($file, $campo, $valor) # busca un registro dentro de $file, donde el $campo sea igual al $valor esta búsqueda quedara dentro de un hash %busqueda = Cfind($file, $campo, $valor)

Multifind($file) # Aun no le he implementado es para hacer multiples busquedas, podria ser edades mayores a 18 o nacidos en Argentina cosas asi.

Kread($file,’orden’,’cantidad_registros’) # deja en un array la cantidad de registros que indiquemos en el orden deseado (1=desde el inicio, 0=desde el final)y la cantidad que le digamos también, si no ingresamos cantidad de registros nos devolvera 10 por defecto
Pero estos registros quedan de la forma : 02||juliana||perez||afiliada||1983
El primer campo es el ID, luego por una función split se pueden desplegar los campos.


Rdelete($fichero,’$id’)# no creo que tenga que explicar, borrar el registro id pero aun me falta algo para que funcione.

Este es el modulo que realice espero someterlo a Aprobación a ve que tal les parece o que sugerencia tienen.

Recuerden que soy una persona que esta avanzando con Perl estoy en lo pasitos de avanzar solamente. Por eso era mi preguntadera de tantas cosas. Pronto Subiré la versión con algunos ajustes. ^^ Pero no molestar tanto[url][/url]
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Notapor explorer » 2006-09-09 20:20 @889

Está muy bien... se parece a DBD::CSV, DBD::AnyData o DBD::Sprite.

Sólo hay algunos detalles que se podrían comentar... pero pequeños...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor kidd » 2006-09-10 10:01 @459

Hola:

Le dí una checada por encima y si ví algunos problemas o bugs bastante importantes:

1. En tu sistema es imposible tener un campo multiline, esto es muy limitante y más porque no sabes que tipo de información los usuarios querrán guardar.

2. Si alguien guarda en su campos los caracteres que estás usando como separador ||, todo el registro ya no servirá y regresará datos inutilizados.

3. ¿Qué sucede si al llamar swrite() envías un array con menos campos o más campos de los que inicialisaste?

4. La función rdelete() es sumamente redundante pues abre el archivo y vuelve a crearlo con los mismos datos. :?


En lo personal no soy nada fan de reinventar la rueda o el hilo negro. Si ya existen módulos que hacen lo que buscas y de una manera más eficiente y con mucho más herramientas, no veo el sentido de crear un módulo similar, a menos que des opciones que no encontrarás en ninguno de los otros módulos, o que hagas alguno que complemente de una u otra manera.

Ahora, también puedes crear alguno como un ejercicio de práctica, pero en ese caso lo que te recomiendo es que cheques los módulos que existen y veas la manera en que atacaron el problema, te aseguro que aprenderás mucho de ello, y quien sabe, igual y encuentres una manera más eficiente de lograr solucionar el problema.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor danimera » 2006-09-10 15:19 @680

Uriel ^^, se trataba de Un ejercicio de alguien quien esta aprendiendo Perl, No me des tan duro por fa,

Solo lo quize hacer asi, por que vi algo que podia necesitar, ya le corregi ciertas cosas aun asi, Estoy es aprendiendo. Claro que me gustaria ver alguno de esos modulos que dices, ha la idea mia tambien con esto podria ser.

Que la gente pueda iniciar en Perl y no salga huyendo como he visto a muchos que dicen que es muy complicado, Ademas me base en tu ejemplo, por que no conozco muchos modulos ni nada eso aun,, ^^

Y adoro trabajar con ficheros,, Pero lo mejor es que aprenda sobre ellos creo yo.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor kidd » 2006-09-10 17:41 @778

danimera escribiste:Uriel ^^, se trataba de Un ejercicio de alguien quien esta aprendiendo Perl, No me des tan duro por fa,


Mi intención en ningun momento fue atacarte ni mucho menos, lo que sucede es que el camino que estás llevando yo ya lo tomé, y me arrepentí mucho de ello, pues agarré malas mañas y la curva de aprendizaje fue muy larga.

Es por ello mis recomendaciones, pues al final de día sacarás mucho más provecho.


Un saludo
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor danimera » 2006-09-10 22:24 @975

mmmmmmmmmm
Última edición por danimera el 2006-09-10 22:27 @977, editado 1 vez en total
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor danimera » 2006-09-10 22:25 @975

A que te refieres con:

lo que sucede es que el camino que estás llevando yo ya lo tomé, y me arrepentí mucho de ello, pues agarré malas mañas y la curva de aprendizaje fue muy larga


Entonces dime como aprendo Bien Perl, pense que con ejemplos practicos como esto podria,, ^^ por fa me interesa saber pues quiero aprender perl y ser muy bueno en el manejo de el
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor explorer » 2006-09-11 06:08 @297

Yo aprendí un 30% leyendo libros, revistas y artículos; un 20% leyendo código de otras personas, otro 25% navegar por CPAN y otro 25% escribiendo mi propio código.

De hecho, yo creo que todavía no sé Perl (en parte porque es amplísimo).

A mis alumnos les digo que la curva de aprendizaje de este lenguaje es un poco extraña: al principio se aprenden rápidamente las bases, con lo que es fácil empezar a escribir código y resolver el 90% de los problemas de la mayoría de la gente; luego, viene un largo periodo en que la curva se aplana mucho y da la sensación de que no se aprende nada nuevo; luego sigue un periodo corto en que se descubren nuevos paradigmas (programación orientada a objetos, clousures, currying, herencia, filtros, dispatching, iteradores, etc. etc.) y la curva vuelve a subir; finálmente, hay otro periodo en que llegas a la culminación (XS, Inline, producción de módulos, etc.). Aquí llegan muy pocos.

Hay también un momento, normalmente al principio del tercer periodo, donde por fin se entiende la forma y filosofía de entender este lenguaje. Es la iluminación. Lo sabrás porque a partir de ese momento empiezas a pensar en la solución a los problemas exclusivamente en Perl porque sabes que se puede hacer y, además, la escritura de los programas es lo más cercana al lenguaje natural. Recuerda que Larry Wall tiene formación de lingüista. Para mi ese punto es el de no retorno. :-)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor danimera » 2006-09-11 09:25 @434

how, me dejas impresionado Explorer, Lastimosamente aca en Colombia no hay libros de eso y no se puede ni comprar por internet $$$$$$$$$$$$..

Pero gracias veo que el recorrido es amplio pero se hacen cosas utiles en el. ^^
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor explorer » 2006-09-11 09:59 @458

Si no puedes comprarte libros en la tienda, les puedes encontrar en Internet. El dónde y cómo ya no se puede decir, porque es ilegal.

Los hay también de segunda mano.

También hay otros libros que son gratuitos:
http://www.techbooksforfree.com/perlpython.shtml
http://www.computer-books.us/perl.php
http://learn.perl.org/library/beginning_perl/
http://kgptech.blogspot.com/2005/07/perl.html
http://www.unix.org.ua/orelly/perl/prog3/index.htm

En http://learn.perl.org/ tienen más recursos para aprender Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado