Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

DBI: Uso de selectrow_hashref

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Sab Feb 17, 2007 1:38 pm
Negrazo
Perlero Nuevo
Perlero Nuevo
Registrado: 28 Dic 2006
Mensajes: 42
DBI: Uso de selectrow_hashref Responder citando

Hola a todos:
Estoy en pleno desarrollo de una aplicación en la cual estoy usando Perl con MySQL para manejar documentos dentro de MySQL y en un punto tengo que leer dichos documentos para buscar cierta información, me encontré por allí un ejemplo en donde utilizan:

Perl:
my $imagen = $m->selectrow_hashref("SELECT documento,tipo FROM DocsDetail WHERE llave = '$id' and documentname = '$nombre' ");
   print ((${$imagen}{'tipo'}) ? "Content-type: ${$imagen}{'tipo'}\n\n" : "Content-type: text/html\n\nImagen inexistente o Tipo de dato no soportado");
   binmode(STDOUT);
   print ((${$imagen}{'tipo'}) ? ${$imagen}{'documento'} : '');

Y la verdad que no le entiendo.
Yo había usado el fetchrow_array y más o menos lo conozco pero de este no tengo ni idea.
¿¿¿¿Alguien me puede decir qué es lo que hacen estas instrucciones????
Gracias por ayudar a alguien que esta aprendiendo y que con gusto ayuda a los demás.
Negrazo.
Mensaje Sab Feb 17, 2007 2:52 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4086
Ubicación: Valladolid, España
Responder citando

selectrow_hashref es la unión de los métodos "prepare", "execute" y "fetchrow_hashref".

Devuelve una referencia a un hash, donde este hash tiene como claves los nombres de los campos de la primera fila de la tabla de resultados devuelta por la consulta.

$imagen es una referencia a un hash.
${ $imagen } es la desreferencia, por lo que es un hash.
${ $imagen }{'tipo'} accede al valor de la clave 'tipo'.

http://search.cpan.org/perldoc/DBI
Mensaje Sab Feb 17, 2007 3:42 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
Responder citando

explorer escribió:
${ $imagen }{'tipo'} accede al valor de la clave 'tipo'.


Para mi gusto es mucho más legible hacer:

Perl:
$imagen->{'tipo'}


Saludos
Mensaje Lun Feb 19, 2007 11:32 am
Negrazo
Perlero Nuevo
Perlero Nuevo
Registrado: 28 Dic 2006
Mensajes: 42
Responder citando

Muchas gracias a Kidd y Explorer:
Hoy he aprendido algo nuevo, gracias a ustedes.
Ahora si comprendo lo que vi y lo voy a poner en practica.

Gracias nuevamente.
Negrazo.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group