• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

c4rlos

Duvida em perl

8 mensagens neste tópico

Boas tardes,

Primeiro post e logo uma duvida  :)

É o seguinte, estou a utilizar perl para aceder a uma base de dados e depois colocar os valores da pesquisa num array. Até aqui tudo bem, mas parece que os valores são colocados todos na posição 0 do array e eu queria que ficasse um valor por posição para depois poder ir la manipula-los. 

Aqui vai o código

#!/usr/bin/perl

use LWP;
use DBI;

#funçao para ler IPs dos modulos registados na base de dados
$dbh = DBI->connect('dbi:mysql:CALab','root','123abc!')
or die "Connection Error: $DBI::errstr\n";

$sql = "select IP from Modulos";
$sth = $dbh->prepare($sql);
$sth->execute
or die "SQL Error: $DBI::errstr\n";
while(@row = $sth->fetchrow_array())
{
print "$row[1]\n";
}
$sth->finish;

Ah sou novo nestas andanças do perl  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já tentei seguir esse exemplo, mas pelos vistos continua a colocar tudo na posição 0  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Claro que vai ficar tudo na posição 0. Só tens uma coluna no select, e a contagem começa no 0, portanto fica tudo no 0.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acabei por não entender como resolves-te :S

Mas pelo que disse o Betovsky e pela minha análise ao código deduzo que fosse aqui o problema:

while(@row = $sth->fetchrow_array())
{
print "$row[1]\n";
}
$sth->finish;

no qual : print "$row[VARIAVEL]\n";

foi isso que alteras-te ?

Fiquei curioso

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não, o que eu fiz foi o seguinte

while(@row = $sth->fetchrow_array()){
$ip[$i]=$row[0];
$i=$i+1;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

realmente, faz mais sentido.

Amanhã vou ver se faço uns testes com base de dados em perl

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora