Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)...
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Tue, 23 Oct 2007 13:52:44 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du
genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de
données à du texte (avec keys et values par exemple)...
Maintenant, si vous souhaitez que le texte généré soit du SQL
*valide*, je vous conseille fortement d'utiliser le module DBI (avec
le driver DBD qui convient à votree SGBD) et son mécanisme de
'placeholders'.
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)...
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
c-note
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
Je vais voir du coté de DBI
À (at) Tue, 23 Oct 2007 13:52:44 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du
genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de
données à du texte (avec keys et values par exemple)...
Le morceau de code suivant semble convenir :
my $VAR1 = {
bla bla (copier coller le contenu de $VAR dans le post precedent)
}
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) {
my $val = $$VAR1{$key};
foreach $key (sort keys %$val){
my $val = $$val{$key};
$ALLKEY = $ALLKEY.", "."'$key'";
$ALLVALUE = $ALLVALUE.", "."'$val'";
}
my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE
"."(".$ALLVALUE.");n";
$resustr =~ s/(,/(/g;
$ALLKEY ="";
$ALLVALUE ="";
print $resustr;
}
Cela ne me semble pas la meilleur façon de faire !
C'est limite du bricolage.
Maintenant, si vous souhaitez que le texte généré soit du SQL
*valide*, je vous conseille fortement d'utiliser le module DBI (avec
le driver DBD qui convient à votree SGBD) et son mécanisme de
'placeholders'.
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
Maintenant, si vous souhaitez que le texte généré soit du SQL *valide*, je vous conseille fortement d'utiliser le module DBI (avec le driver DBD qui convient à votree SGBD) et son mécanisme de 'placeholders'.
Je vais voir du coté de DBI
Paul Gaborit
À (at) Tue, 23 Oct 2007 15:07:17 +0200, c-note écrivait (wrote):
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) { my @fields = sort keys %{$VAR1->{$key}}; my @values = map {$VAR1->{$key}{$_}} @fields; my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);", join(",", @fields), join(",", @values)); print "$sqln"; }
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Tue, 23 Oct 2007 15:07:17 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
À (at) Tue, 23 Oct 2007 13:52:44 +0200,
c-note <c-note@hotmail.fr> écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du
genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de
données à du texte (avec keys et values par exemple)...
Le morceau de code suivant semble convenir :
my $VAR1 = {
bla bla (copier coller le contenu de $VAR dans le post precedent)
}
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) {
my $val = $$VAR1{$key};
foreach $key (sort keys %$val){
my $val = $$val{$key};
$ALLKEY = $ALLKEY.", "."'$key'";
$ALLVALUE = $ALLVALUE.", "."'$val'";
}
my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE
"."(".$ALLVALUE.");n";
$resustr =~ s/(,/(/g;
$ALLKEY ="";
$ALLVALUE ="";
print $resustr;
}
Cela ne me semble pas la meilleur façon de faire !
C'est limite du bricolage.
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme
ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) {
my @fields = sort keys %{$VAR1->{$key}};
my @values = map {$VAR1->{$key}{$_}} @fields;
my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);",
join(",", @fields), join(",", @values));
print "$sqln";
}
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) Tue, 23 Oct 2007 15:07:17 +0200, c-note écrivait (wrote):
À (at) Tue, 23 Oct 2007 13:52:44 +0200, c-note écrivait (wrote):
[... une structure de données Perl...]
Aussi, j'aimerais convertir l'affichage précédent en quelque chose du genre :
[... du texte ressemblant à du SQL...]
Existe t-il un moyen simple et fiable d'y parvenir (keys, values, ...) ?
C'est assez facile à faire si vous souhaitez passer de la structure de données à du texte (avec keys et values par exemple)... Le morceau de code suivant semble convenir :
my $VAR1 = { bla bla (copier coller le contenu de $VAR dans le post precedent) }
my ($ALLKEY,$ALLVALUE)=("","");;
foreach $key (sort keys %$VAR1) { my $val = $$VAR1{$key}; foreach $key (sort keys %$val){ my $val = $$val{$key}; $ALLKEY = $ALLKEY.", "."'$key'"; $ALLVALUE = $ALLVALUE.", "."'$val'"; } my $resustr = "INSERT INTO save_table (".$ALLKEY.") VALUE "."(".$ALLVALUE.");n"; $resustr =~ s/(,/(/g; $ALLKEY =""; $ALLVALUE =""; print $resustr; }
Cela ne me semble pas la meilleur façon de faire ! C'est limite du bricolage.
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) { my @fields = sort keys %{$VAR1->{$key}}; my @values = map {$VAR1->{$key}{$_}} @fields; my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);", join(",", @fields), join(",", @values)); print "$sqln"; }
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
c-note
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) { my @fields = sort keys %{$VAR1->{$key}}; my @values = map {$VAR1->{$key}{$_}} @fields; my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);", join(",", @fields), join(",", @values)); print "$sqln"; }
Effectivement c'est plus propre comme code :-)
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...
En effet.
Merci
C'est sûr que ce n'est pas très "perlien". On peut faire aussi comme
ça (en supposant que $VAR1 contient ce qu'il faut) :
foreach my $key (sort keys %$VAR1) {
my @fields = sort keys %{$VAR1->{$key}};
my @values = map {$VAR1->{$key}{$_}} @fields;
my $sql = sprintf("INSERT INTO save_table (%s) VALUES (%s);",
join(",", @fields), join(",", @values));
print "$sqln";
}
Effectivement c'est plus propre comme code :-)
Je vais voir du coté de DBI
C'est quand même beaucoup plus pratique pour piloter un SGBD...