[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux] [perl/PgSQL] array dans une colonne
Le mercredi 28 novembre 2001, 08:01:54, Alain EMPAIN, pris d'une clavièrite aigüe, écrivait:
> Il y a au moins un problème dans ta lecture :
> si tu veux accumuler les lectures de OUTPUT, il faut utiliser push (@test est
> comme une pile dans laquelle tu insères à chaque tour un résultat), chomp
> enlève le LF final.
>
> while(<OUTPUT>) {
> chomp;
> push($_,@test);
> }
>
> for (my $i=0; $i<=$#test; $i++) {
> print "$i: $test[$i] \n";
> }
Correct mais j'ai trouvé mon erreur, je mets ce qui concerne cette partie ici:
sub readme {
$file = $name[$p1];
$input = "$dir[$p1]\/$name[$p1]";
print $input; #just for debugging
if ($file =~ /^*([A-Za-z0-9])*.(tar.gz)/) {
$file =~ s/.tar.gz/\/README/;
open (OUTPUT, "tar -xzOvf $input $file 2>&1|");
while (<OUTPUT>) {@readme = (<OUTPUT>);}
close OUTPUT;
... }
...
$cd_table = $conn->exec("create table $cdlabel (path text,file text,readme text[],install text)");
$cd_table_insert = $conn->exec("insert into $cdlabel (path,file,readme,install) values ('$dir[$p1]','$name[$p1]','{@readme}','$install[$p1]')");
...
$file_res = $conn->exec("select * from $cdv where file like '$filev'");
while (@row1 = $file_res->fetchrow) {
@row1[2] =~ s/{"//;
@row1[2] =~ s/"}//;
@row1[2] =~ s/","/,/g;
$file_fr->insert('end',"cdname: $cdv\n");
$file_fr->insert('end',"path: @row1[0]\n");
$file_fr->insert('end',"file: @row1[1]\n");
$file_fr->insert('end',"Readme: @row1[2]\n");
...
j'avais auparavant @readme[$p1] et cela ne va pas dans un array B-) et ton idée ne marche pas dans ce cas (testé au début) car j'ai besoin du même format que l'original et c'est moins rapide. De ce fait, lors de la lecture, j'ôtes ce qui est ajouté par la libpq. Et je retrouve l'original B-)
Maintenant, plus qu'un bug, nettoyage du code et CdBase-0.2.5 sera prêt. Ensuite, dico pour traduction et version définitive B-).
--
/-----------------------------------------------------------------\
| -°) Quand on dit d'un homme qu'il est expert en la (°- |
| /\\ matière, cela ne veut pas fatalement dire qu'il //\ |
| _\_v est expert en merde. v_/_ |
| -- Patrice Dard -- |
\-----------------------------------------------------------------/
[ Soyez précis dans vos sujets svp afin de déterminer directement ]
[ le type de demande... ]
[ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php ]
[ Archives de la mailing list: http://archives.unixtech.be/linux/ ]
[ http://unixtech.be Contact: listmaster@unixtech.be ]