[FUGSPBR] 1/2 OFF: perl & arquivos de texto

Cleiton L. Siqueira cleiton em websystem.com.br
Qua Jul 23 05:42:03 BRT 2003


Olá,

----------- Inicio Codigo --------------
#!/usr/bin/perl

use Pg;
$conn = Pg::connectd "dbname=teste");
$TABLE = 'Coloque aqui o nome de sua tabela';

open(FILE, "/var/log/radacct/default/detail");
@linhas = <FILE>;
close(FILE);

foreach $linha (@linhas) {

@dados = split(/ /,$linha); # Utilize o delimitador de acordo com seu
arquivo
$conn->exec("INSERT INTO $TABLE values
($dados[0],$dados[1],$dados[2],$dados[3],.... etc e tal);");

}
----------- Fim Codigo --------------

Eu uso mais ou menos assim, só que utilizo Banco de Dados PostgreSQL.
Acredito que não deve mudar muita coisa.

Trato arquivos bem grandes e funciona normalmente!

@braços,

--
Cleiton Luiz Siqueira
Analista de Sistema
WebSystem Soluções para Internet
(45) 9963-7429



--------- Mensagem Original --------
De: "Grupo Brasileiro de Usuarios FreeBSD" <fugspbr em fugspbr.org>
Para: "Grupo Brasileiro de Usuarios FreeBSD" <fugspbr em fugspbr.org>
Assunto: [FUGSPBR] 1/2 OFF: perl & arquivos de texto
Data: 22/07/03 19:09


Ola Pessoal,

Estou desenvolvendo um script em Perl, que faz o seguinte:
Lê o arquivo de accounting do Radius (tipo, /var/log/radacct/default/detail)
e gera registros em uma tabela MySQL.
Quando o arquivo esta pequeno, com alguns Mb (até 50Mb) ele gera legal,
apesar de demorar um pouco. Mas quando ele aumenta de tamanho no final do
mes (cento e poucos Mb) o script nao consegue processar o arquivo. Como
funciona o script? Ele abre o aquivo e joga o conteudo em uma matriz.
Alguem sabe alguma forma de o script ler o arquivo sem eu jogar em uma
matriz, ou ir liberando a matriz a cada n linhas ou n Mb????

qq ajuda eh bem vinda....

=Paulo Henrique Coimbra Vieira
Connect - Serviço de Acesso à Internet
Depto. Redes Wireless (Internet sem Fio)
Linux - Windows 2000
----------------------------------------------------------------
Fone: (38) 9968-6644
E-Mail: pcoimbra em connect.com.br
ICQ #: 166165943
_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/

_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd