Bonjour,
J'utilise l'exemple de pelfertut ( http://perl.mines-albi.fr/DocFr/perlref=
tut.html) pour construire une structure de donn=C3=A9es.
Exple: J'ai 2 fichiers comme =C3=A7a. On suppose que la variable $nom est=
unique, mais qu'il peut =C3=AAtre dans plusieurs dpts.
NB : Exple non r=C3=A9=C3=A9l, il peut y avoir plusieurs chefs-lieux dans u=
n m=C3=AAme dpt.
Je voulais savoir s'il =C3=A9tait possible de se passer de la table %Mem, =
=C3=A7ad de tout ranger dans %TabCoord.
Merci d'avance
Personnes.dat
------------------------------
nom, n=C2=B0dpt
...
etc
------------------------------
et
Voil=C3=A0 le code que j'ai =C3=A9crit et qui fonctionne en perl v5.10
#!/usr/bin/perl
my %TabPersonnes;
my %TabCoord ;
my %Mem;
open(NOM_DPT,"Personnes.dat") or die "ouverture fichier $! impovilleible.\=
n";
open(COORD, "Coord.dat") or die "ouverture fichier $! impovilleible.\n";
open(SORTIE,"Sortie.dat") or die "ouverture fichier $! impovilleible.\n";
Pas trop, vu que c'est un cache pour ce que tu fais... Note qu'il y a quand meme quelques trucs douteux cote style. Et ton code ne fonctionne pas contrairement a ce que tu affirmes.
- Tu m'expliqueras comment tu arrives a ecrire des trucs dans un fichier ouvert en lecture. - je te recommande chaudement use autodie; particulierement approprie pour ce genre d'exemple.
foreach $s (<NOM_DPT>)
- cette construction ne passe pas a l'echelle, vu qu'elle lit tout le fichier en memoire. while (defined ($s = <NOM_DPT>)) est la bonne construction
{ chomp($s); ($nom,$dpt)=split(',',$s);
- si tu commences a declarer des variables, mets un use strict et declare-les toutes.
In article <a894db89-8bb3-43b6-a4b7-b5870eb51cdd@googlegroups.com>,
Apollo J <isma.ballo@gmail.com> wrote:
open(NOM_DPT,"Personnes.dat") or die "ouverture fichier $! impovilleible.n";
open(COORD, "Coord.dat") or die "ouverture fichier $! impovilleible.n";
open(SORTIE,"Sortie.dat") or die "ouverture fichier $! impovilleible.n";
- Tu m'expliqueras comment tu arrives a ecrire des trucs dans un fichier
ouvert en lecture.
- je te recommande chaudement use autodie; particulierement approprie pour
ce genre d'exemple.
foreach $s (<NOM_DPT>)
- cette construction ne passe pas a l'echelle, vu qu'elle lit tout le fichier
en memoire.
while (defined ($s = <NOM_DPT>))
est la bonne construction
{
chomp($s);
($nom,$dpt)=split(',',$s);
- si tu commences a declarer des variables, mets un use strict et declare-les
toutes.
Pas trop, vu que c'est un cache pour ce que tu fais... Note qu'il y a quand meme quelques trucs douteux cote style. Et ton code ne fonctionne pas contrairement a ce que tu affirmes.
- Tu m'expliqueras comment tu arrives a ecrire des trucs dans un fichier ouvert en lecture. - je te recommande chaudement use autodie; particulierement approprie pour ce genre d'exemple.
foreach $s (<NOM_DPT>)
- cette construction ne passe pas a l'echelle, vu qu'elle lit tout le fichier en memoire. while (defined ($s = <NOM_DPT>)) est la bonne construction
{ chomp($s); ($nom,$dpt)=split(',',$s);
- si tu commences a declarer des variables, mets un use strict et declare-les toutes.
- Tu m'expliqueras comment tu arrives a ecrire des trucs dans un fichier ouvert en lecture. - je te recommande chaudement use autodie; particulierement approprie pou r ce genre d'exemple.
foreach $s (<NOM_DPT>)
- cette construction ne passe pas a l'echelle, vu qu'elle lit tout le fic hier en memoire. while (defined ($s = <NOM_DPT>)) est la bonne construction
{ chomp($s); ($nom,$dpt)=split(',',$s);
- si tu commences a declarer des variables, mets un use strict et declare -les toutes.
- Tu m'expliqueras comment tu arrives a ecrire des trucs dans un fichier
ouvert en lecture.
- je te recommande chaudement use autodie; particulierement approprie pou r
ce genre d'exemple.
>foreach $s (<NOM_DPT>)
- cette construction ne passe pas a l'echelle, vu qu'elle lit tout le fic hier
en memoire.
while (defined ($s = <NOM_DPT>))
est la bonne construction
>{
> chomp($s);
> ($nom,$dpt)=split(',',$s);
- si tu commences a declarer des variables, mets un use strict et declare -les
toutes.
- Tu m'expliqueras comment tu arrives a ecrire des trucs dans un fichier ouvert en lecture. - je te recommande chaudement use autodie; particulierement approprie pou r ce genre d'exemple.
foreach $s (<NOM_DPT>)
- cette construction ne passe pas a l'echelle, vu qu'elle lit tout le fic hier en memoire. while (defined ($s = <NOM_DPT>)) est la bonne construction
{ chomp($s); ($nom,$dpt)=split(',',$s);
- si tu commences a declarer des variables, mets un use strict et declare -les toutes.