J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et
cela en vue de créer une structure de données de type arbre rouge-noir,
voire b-arbre.
Mon objectif est double :
1) créer une base de données (format non encore défini, idéalement du
simple ascii) comportant 2 champs qui forment à eux deux l'identifiant.
Ces deux champs sont un numéro unique et un nom correspondant à ce
numéro. Mais plusieurs paires sont possibles.
Exemple : "43" "toto" et "43" "tata" sont valides.
Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant
les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me
conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd
car il est plus aisé de rechercher une information par un simple cat
fichier | grep info.
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
Jérémy JUST
On Sun, 07 Sep 2003 16:22:27 +0200 "grosnours [FT]" wrote:
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl
Oui, on les appelle des références.
$ perldoc perlreftut
Exemple : "43" "toto" et "43" "tata" sont valides.
Je serais partant pour utiliser un bête hachage. Une solution simple serait de créer une chaîne en concaténant tes deux clefs, pour t'en servir comme clef du hachage. Sinon, tu peux utiliser un hachage de hachage.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ?
Si c'est pour faire des choses aussi simples que ça, je préconise des DB_Files. Ce sont des tableaux associatifs écrits sur disque.
$ perldoc DB_File
J'opte naturellement pour le simple ascii sans sgbd
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul inconvénient est qu'il te faudra toujours Perl pour accéder au contenu (un script de trois lignes est suffisant, mais il faut quand même le compilateur derrière).
Un vrai SGBD ne sera intéressant que pour des structures plus complexes.
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl
Oui, on les appelle des références.
$ perldoc perlreftut
Exemple : "43" "toto" et "43" "tata" sont valides.
Je serais partant pour utiliser un bête hachage. Une solution simple
serait de créer une chaîne en concaténant tes deux clefs, pour t'en
servir comme clef du hachage.
Sinon, tu peux utiliser un hachage de hachage.
Aussi, ma deuxieme question est : quel format de base de données me
conseillez vous ?
Si c'est pour faire des choses aussi simples que ça, je préconise des
DB_Files. Ce sont des tableaux associatifs écrits sur disque.
$ perldoc DB_File
J'opte naturellement pour le simple ascii sans sgbd
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul
inconvénient est qu'il te faudra toujours Perl pour accéder au contenu
(un script de trois lignes est suffisant, mais il faut quand même le
compilateur derrière).
Un vrai SGBD ne sera intéressant que pour des structures plus
complexes.
On Sun, 07 Sep 2003 16:22:27 +0200 "grosnours [FT]" wrote:
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl
Oui, on les appelle des références.
$ perldoc perlreftut
Exemple : "43" "toto" et "43" "tata" sont valides.
Je serais partant pour utiliser un bête hachage. Une solution simple serait de créer une chaîne en concaténant tes deux clefs, pour t'en servir comme clef du hachage. Sinon, tu peux utiliser un hachage de hachage.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ?
Si c'est pour faire des choses aussi simples que ça, je préconise des DB_Files. Ce sont des tableaux associatifs écrits sur disque.
$ perldoc DB_File
J'opte naturellement pour le simple ascii sans sgbd
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul inconvénient est qu'il te faudra toujours Perl pour accéder au contenu (un script de trois lignes est suffisant, mais il faut quand même le compilateur derrière).
Un vrai SGBD ne sera intéressant que pour des structures plus complexes.
-- Jérémy JUST
Emmanuel Florac
Dans article , disait...
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul inconvénient est qu'il te faudra toujours Perl pour accéder au contenu (un script de trois lignes est suffisant, mais il faut quand même le compilateur derrière).
Mais non, C'est du format Berkeley DB, c'est standard et des tas de trucs s'interfacent avec ça...
-- Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?
Dans article <20030907215813.53a19109.jeremy_just@netcourrier.com>,
jeremy_just@netcourrier.com disait...
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul
inconvénient est qu'il te faudra toujours Perl pour accéder au contenu
(un script de trois lignes est suffisant, mais il faut quand même le
compilateur derrière).
Mais non, C'est du format Berkeley DB, c'est standard et des tas de trucs
s'interfacent avec ça...
--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul inconvénient est qu'il te faudra toujours Perl pour accéder au contenu (un script de trois lignes est suffisant, mais il faut quand même le compilateur derrière).
Mais non, C'est du format Berkeley DB, c'est standard et des tas de trucs s'interfacent avec ça...
-- Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?
Samuel Mouniée
Bonjour,
grosnours [FT] wrote:
Bonjour
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et cela en vue de créer une structure de données de type arbre rouge-noir, voire b-arbre.
perl utilise des references symboliques ou non.
il existe des modules pour les arbres rouge noires et les BTree.
Mon objectif est double : 1) créer une base de données (format non encore défini, idéalement du simple ascii) comportant 2 champs qui forment à eux deux l'identifiant. Ces deux champs sont un numéro unique et un nom correspondant à ce numéro. Mais plusieurs paires sont possibles. Exemple : "43" "toto" et "43" "tata" sont valides. Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.
les fichiers Berkeley DBM ou autres, permettent de stocker des bases plus ou moins importantes sur un principe cle / valeur. on y trouve des enregistrements en tableaux, en hashage ou en B Tree.
Je suis ouvert à toute proposition.
Merci d'avance.
Fabrice
Padkoa,
.S'nuoM
Bonjour,
grosnours [FT] wrote:
Bonjour
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et
cela en vue de créer une structure de données de type arbre rouge-noir,
voire b-arbre.
perl utilise des references symboliques ou non.
il existe des modules pour les arbres rouge noires et les BTree.
Mon objectif est double :
1) créer une base de données (format non encore défini, idéalement du
simple ascii) comportant 2 champs qui forment à eux deux l'identifiant.
Ces deux champs sont un numéro unique et un nom correspondant à ce
numéro. Mais plusieurs paires sont possibles.
Exemple : "43" "toto" et "43" "tata" sont valides.
Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant
les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me
conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd
car il est plus aisé de rechercher une information par un simple cat
fichier | grep info.
les fichiers Berkeley DBM ou autres, permettent de stocker des bases
plus ou moins importantes sur un principe cle / valeur. on y trouve des
enregistrements en tableaux, en hashage ou en B Tree.
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et cela en vue de créer une structure de données de type arbre rouge-noir, voire b-arbre.
perl utilise des references symboliques ou non.
il existe des modules pour les arbres rouge noires et les BTree.
Mon objectif est double : 1) créer une base de données (format non encore défini, idéalement du simple ascii) comportant 2 champs qui forment à eux deux l'identifiant. Ces deux champs sont un numéro unique et un nom correspondant à ce numéro. Mais plusieurs paires sont possibles. Exemple : "43" "toto" et "43" "tata" sont valides. Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.
les fichiers Berkeley DBM ou autres, permettent de stocker des bases plus ou moins importantes sur un principe cle / valeur. on y trouve des enregistrements en tableaux, en hashage ou en B Tree.
Je suis ouvert à toute proposition.
Merci d'avance.
Fabrice
Padkoa,
.S'nuoM
Michel Rodriguez
grosnours [FT] wrote:
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.
Si tu veux faire dans le format texte, YAML me semble assez indique: c'est un format de serialisation de donnees concu pour etre lisible et compact. Un seul probleme possible: au niveau encodage des caracteres, YAML fait de l'UTF-8, pas de l'ISO-8859-1.
Sinon tu peux utiliser CSV (comma separated variables), et pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table relationelle, en utlisant DBI. Du coup, tu peux assez simplement passer d'un format texte a une vrai base de donnees, si tu as besoin plus tard, en changeant juste la connection (et pense a DBD::SQLite, une BD ultra-simple, sans administration, mais puissante et assez complete). Bon, c'est peut etre un peu trop complique dans ton cas, mais si tu veux te garder des possibilites d'evoluer, ca peut valoir le coup.
__ Michel Rodriguez Perl & XML http://xmltwig.com
grosnours [FT] wrote:
Aussi, ma deuxieme question est : quel format de base de données me
conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd
car il est plus aisé de rechercher une information par un simple cat
fichier | grep info.
Si tu veux faire dans le format texte, YAML me semble assez indique: c'est
un format de serialisation de donnees concu pour etre lisible et compact.
Un seul probleme possible: au niveau encodage des caracteres, YAML fait de
l'UTF-8, pas de l'ISO-8859-1.
Sinon tu peux utiliser CSV (comma separated variables), et pourquoi pas DBI
et DBD::AnyData: tu traite le CSV comme une table relationelle, en utlisant
DBI. Du coup, tu peux assez simplement passer d'un format texte a une vrai
base de donnees, si tu as besoin plus tard, en changeant juste la
connection (et pense a DBD::SQLite, une BD ultra-simple, sans
administration, mais puissante et assez complete). Bon, c'est peut etre un
peu trop complique dans ton cas, mais si tu veux te garder des possibilites
d'evoluer, ca peut valoir le coup.
__
Michel Rodriguez
Perl & XML
http://xmltwig.com
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.
Si tu veux faire dans le format texte, YAML me semble assez indique: c'est un format de serialisation de donnees concu pour etre lisible et compact. Un seul probleme possible: au niveau encodage des caracteres, YAML fait de l'UTF-8, pas de l'ISO-8859-1.
Sinon tu peux utiliser CSV (comma separated variables), et pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table relationelle, en utlisant DBI. Du coup, tu peux assez simplement passer d'un format texte a une vrai base de donnees, si tu as besoin plus tard, en changeant juste la connection (et pense a DBD::SQLite, une BD ultra-simple, sans administration, mais puissante et assez complete). Bon, c'est peut etre un peu trop complique dans ton cas, mais si tu veux te garder des possibilites d'evoluer, ca peut valoir le coup.
__ Michel Rodriguez Perl & XML http://xmltwig.com
Jérémy JUST
On Sun, 7 Sep 2003 22:18:25 +0200 Emmanuel Florac wrote:
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul inconvénient est qu'il te faudra toujours Perl pour accéder au contenu (un script de trois lignes est suffisant, mais il faut quand même le compilateur derrière).
Mais non, C'est du format Berkeley DB, c'est standard et des tas de trucs s'interfacent avec ça...
Oui, oui, c'est standard, mais il faut de quoi y accéder. J'étais un peu restrictif en disant qu'il fallait Perl. En gros, un grep marchera mal dessus.
Et si on se retrouve perdu sous Windows avec un fichier Berkeley, on est bien embêté... C'est pas avec Wordpad qu'on va pouvoir en faire grand chose (télécharger ActivePerl, c'est le plus simple, me semble-t-il).
Si tu veux une structure d'accès rapide, utilise des DB_Files; le
seul inconvénient est qu'il te faudra toujours Perl pour accéder au
contenu (un script de trois lignes est suffisant, mais il faut quand
même le compilateur derrière).
Mais non, C'est du format Berkeley DB, c'est standard et des tas de
trucs s'interfacent avec ça...
Oui, oui, c'est standard, mais il faut de quoi y accéder.
J'étais un peu restrictif en disant qu'il fallait Perl. En gros, un
grep marchera mal dessus.
Et si on se retrouve perdu sous Windows avec un fichier Berkeley, on
est bien embêté... C'est pas avec Wordpad qu'on va pouvoir en faire
grand chose (télécharger ActivePerl, c'est le plus simple, me
semble-t-il).
On Sun, 7 Sep 2003 22:18:25 +0200 Emmanuel Florac wrote:
Si tu veux une structure d'accès rapide, utilise des DB_Files; le seul inconvénient est qu'il te faudra toujours Perl pour accéder au contenu (un script de trois lignes est suffisant, mais il faut quand même le compilateur derrière).
Mais non, C'est du format Berkeley DB, c'est standard et des tas de trucs s'interfacent avec ça...
Oui, oui, c'est standard, mais il faut de quoi y accéder. J'étais un peu restrictif en disant qu'il fallait Perl. En gros, un grep marchera mal dessus.
Et si on se retrouve perdu sous Windows avec un fichier Berkeley, on est bien embêté... C'est pas avec Wordpad qu'on va pouvoir en faire grand chose (télécharger ActivePerl, c'est le plus simple, me semble-t-il).
-- Jérémy JUST
Jérémy JUST
On Mon, 08 Sep 2003 21:41:35 +0200 Michel Rodriguez wrote:
pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table relationelle, en utlisant DBI.
C'est TERRIBLEMENT LENT. À mon sens, cette solution n'est à utiliser que si on a de solides arguments pour la portabilité du code entre accès à un SGBD et accès à un fichier CSV (sauf que le langage de requêtes supporté par DBD::AnyData est très pauvre).
-- Jérémy JUST
On Mon, 08 Sep 2003 21:41:35 +0200
Michel Rodriguez <newsguy@xmltwig.com> wrote:
pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table
relationelle, en utlisant DBI.
C'est TERRIBLEMENT LENT.
À mon sens, cette solution n'est à utiliser que si on a de solides
arguments pour la portabilité du code entre accès à un SGBD et accès à
un fichier CSV (sauf que le langage de requêtes supporté par
DBD::AnyData est très pauvre).
On Mon, 08 Sep 2003 21:41:35 +0200 Michel Rodriguez wrote:
pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table relationelle, en utlisant DBI.
C'est TERRIBLEMENT LENT. À mon sens, cette solution n'est à utiliser que si on a de solides arguments pour la portabilité du code entre accès à un SGBD et accès à un fichier CSV (sauf que le langage de requêtes supporté par DBD::AnyData est très pauvre).
-- Jérémy JUST
Michel Rodriguez
Jérémy JUST wrote:
On Mon, 08 Sep 2003 21:41:35 +0200 Michel Rodriguez wrote:
pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table relationelle, en utlisant DBI.
C'est TERRIBLEMENT LENT. À mon sens, cette solution n'est à utiliser que si on a de solides arguments pour la portabilité du code entre accès à un SGBD et accès à un fichier CSV (sauf que le langage de requêtes supporté par DBD::AnyData est très pauvre).
DBD::AnyData utilise un sous-ensemble de SQL (la plus grosse limitation est l'absence de join), ca me semble pas si pauvre que ca.
Et puis si c'est lent c'est une bonne incitation a passer a un vrai base de donnees ;--)
Merci pour la precision en tout cas.
__ Michel Rodriguez Perl & XML http://xmltwig.com
Jérémy JUST wrote:
On Mon, 08 Sep 2003 21:41:35 +0200
Michel Rodriguez <newsguy@xmltwig.com> wrote:
pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table
relationelle, en utlisant DBI.
C'est TERRIBLEMENT LENT.
À mon sens, cette solution n'est à utiliser que si on a de solides
arguments pour la portabilité du code entre accès à un SGBD et accès à
un fichier CSV (sauf que le langage de requêtes supporté par
DBD::AnyData est très pauvre).
DBD::AnyData utilise un sous-ensemble de SQL (la plus grosse limitation est
l'absence de join), ca me semble pas si pauvre que ca.
Et puis si c'est lent c'est une bonne incitation a passer a un vrai base de
donnees ;--)
Merci pour la precision en tout cas.
__
Michel Rodriguez
Perl & XML
http://xmltwig.com
On Mon, 08 Sep 2003 21:41:35 +0200 Michel Rodriguez wrote:
pourquoi pas DBI et DBD::AnyData: tu traite le CSV comme une table relationelle, en utlisant DBI.
C'est TERRIBLEMENT LENT. À mon sens, cette solution n'est à utiliser que si on a de solides arguments pour la portabilité du code entre accès à un SGBD et accès à un fichier CSV (sauf que le langage de requêtes supporté par DBD::AnyData est très pauvre).
DBD::AnyData utilise un sous-ensemble de SQL (la plus grosse limitation est l'absence de join), ca me semble pas si pauvre que ca.
Et puis si c'est lent c'est une bonne incitation a passer a un vrai base de donnees ;--)
Merci pour la precision en tout cas.
__ Michel Rodriguez Perl & XML http://xmltwig.com
grosnours [FT]
merci pour toutes ces réponses
dans la mesure du possible, je testerai chacune.
grosnours [FT] wrote:
Bonjour
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et cela en vue de créer une structure de données de type arbre rouge-noir, voire b-arbre.
Mon objectif est double : 1) créer une base de données (format non encore défini, idéalement du simple ascii) comportant 2 champs qui forment à eux deux l'identifiant. Ces deux champs sont un numéro unique et un nom correspondant à ce numéro. Mais plusieurs paires sont possibles. Exemple : "43" "toto" et "43" "tata" sont valides. Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.
Je suis ouvert à toute proposition.
Merci d'avance.
Fabrice
merci pour toutes ces réponses
dans la mesure du possible, je testerai chacune.
grosnours [FT] wrote:
Bonjour
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et
cela en vue de créer une structure de données de type arbre rouge-noir,
voire b-arbre.
Mon objectif est double :
1) créer une base de données (format non encore défini, idéalement du
simple ascii) comportant 2 champs qui forment à eux deux l'identifiant.
Ces deux champs sont un numéro unique et un nom correspondant à ce
numéro. Mais plusieurs paires sont possibles.
Exemple : "43" "toto" et "43" "tata" sont valides.
Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant
les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me
conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd
car il est plus aisé de rechercher une information par un simple cat
fichier | grep info.
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et cela en vue de créer une structure de données de type arbre rouge-noir, voire b-arbre.
Mon objectif est double : 1) créer une base de données (format non encore défini, idéalement du simple ascii) comportant 2 champs qui forment à eux deux l'identifiant. Ces deux champs sont un numéro unique et un nom correspondant à ce numéro. Mais plusieurs paires sont possibles. Exemple : "43" "toto" et "43" "tata" sont valides. Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.
Je suis ouvert à toute proposition.
Merci d'avance.
Fabrice
tiscali
tableau associatif %tab{a}->{b}
grosnours [FT] wrote:
Bonjour
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et cela en vue de créer une structure de données de type arbre rouge-noir, voire b-arbre.
Mon objectif est double : 1) créer une base de données (format non encore défini, idéalement du simple ascii) comportant 2 champs qui forment à eux deux l'identifiant. Ces deux champs sont un numéro unique et un nom correspondant à ce numéro. Mais plusieurs paires sont possibles. Exemple : "43" "toto" et "43" "tata" sont valides. Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.
Je suis ouvert à toute proposition.
Merci d'avance.
Fabrice
tableau associatif
%tab{a}->{b}
grosnours [FT] wrote:
Bonjour
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et
cela en vue de créer une structure de données de type arbre rouge-noir,
voire b-arbre.
Mon objectif est double :
1) créer une base de données (format non encore défini, idéalement du
simple ascii) comportant 2 champs qui forment à eux deux l'identifiant.
Ces deux champs sont un numéro unique et un nom correspondant à ce
numéro. Mais plusieurs paires sont possibles.
Exemple : "43" "toto" et "43" "tata" sont valides.
Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant
les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me
conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd
car il est plus aisé de rechercher une information par un simple cat
fichier | grep info.
J'aimerais savoir s'il est possible d'utiliser des pointeurs en perl, et cela en vue de créer une structure de données de type arbre rouge-noir, voire b-arbre.
Mon objectif est double : 1) créer une base de données (format non encore défini, idéalement du simple ascii) comportant 2 champs qui forment à eux deux l'identifiant. Ces deux champs sont un numéro unique et un nom correspondant à ce numéro. Mais plusieurs paires sont possibles. Exemple : "43" "toto" et "43" "tata" sont valides. Je ne désire pas de doublons.
2) récupérer une base de données existante au format ascii comportant les deux champs ci dessus.
Aussi, ma deuxieme question est : quel format de base de données me conseillez vous ? J'opte naturellement pour le simple ascii sans sgbd car il est plus aisé de rechercher une information par un simple cat fichier | grep info.