[Cascavel-pm] Perl + MySQL

Eden Cardim edencardim em gmail.com
Segunda Julho 10 09:39:51 PDT 2006


> my ($sth) = $dbh->prepare ("SELECT campo1, campo2, campo3 FROM table");
> while (my $ref = $sth->fetchrow_hashref ()) {
> $c1 = $ref->{campo1}; $c2 = $ref->{campo2}; $c3 = $ref->{campo3};
> }

uma forma mais abreviada e legível IMHO:
> $c1 = $ref->{campo1}; $c2 = $ref->{campo2}; $c3 = $ref->{campo3};
($c1, $c2, $c3) = @{$ref}{qw(campo1 campo2 campo3)};


Murilo, para a maioria das aplicações envolvendo acesso a bancos de
dados recomenda-se o uso de Mapeadores Objeto-Relacional, já que as
rotinas de acesso direto à camada DBI tendem a ficar rapidamente
complexas a medida que o projeto evolui.
Um dos mapeadores mais utilizados é o DBIx::Class:
http://search.cpan.org/~jrobinson/DBIx-Class-0.06003/lib/DBIx/Class/Manual/DocMap.pod

A curva de aprendizado é relativamente baixa quando comparada ao
retorno produtivo que você vai obter quando souber usar o módulo.


Mais detalhes sobre a lista de discussão Cascavel-pm