Rechercher : dans
Par :

[PERL] unshift et les tableaux de tableaux

Dernière réponse le 25 sep 2006 à 22:47:59 stéphane, le 25 sep 2006 à 17:36:19 
 Signaler ce message aux modérateurs

Bonjour à tous,

Je ne parviens pas à réaliser un unshift sur un tableau à 2 dimensions. J'ai créé ce tableau pour stocker les lignes d'un fichier. J'obtiens par exemple après mise en tableau :

@tab = ("un","deux","trois",
"quatre", "cinq", "six",
"sept","huit","neuf")

J'aimerais maintenant écrire un commentaire, parfois, à la fin d'une ligne; ceci donnerait :

@tab = ("un","deux","trois", "un commentaire",
"quatre", "cinq", "six", "un autre commentaire"
"sept","huit","neuf")


J'ai essayé avec un unshift, mais le résultat s'est montré assez abomibable, et le recours aux références m'a quelque peu rebuté ....


Si vous avez des suggestions, merci d'avance,

Stéphane

Meilleures réponses pour « [PERL] unshift et les tableaux de tableaux » dans :
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
ORA-00942 : table or view does not exist VoirCause : La table ou vue entrée n’existe pas, ou un synonyme non autorisé a été utilisé, ou un nom de vue a été utilisé à la place d’un nom de table. Action : Vérifier le nom de la vue ou table utilisées qu’un nom de vue n’est utilisé à la...
Télécharger Tables multimédia VoirEn général les enfants ont tendance à ne pas vouloir étudier et les parents perdent parfois patience à leur apprendre. Peut-être qu’il est temps d’essayer quelque chose de plus pratique avec plus résultats. Tables multimédia donne la possibilité...
Les variables avec Perl VoirConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...
Tableaux HTML VoirUtilisation de tableaux Il est souvent utile de présenter des informations mieux structurées qu'avec des listes. Les tableaux permettent de les afficher en lignes et en colonnes. Les tableaux sont définis comme étant des suites de lignes. Un...
SQL - Modification de table VoirModification de table Il est possible de supprimer une table grâce à la clause DROP, il existe aussi des commandes moins extrêmes permettant L'ajout de colonnes La modification de colonnes La suppression de colonnes Enfin, il est possible...

1

lami20j, le 25 sep 2006 à 18:38:31

Salut,

tu ne peux pas écrire des commentaires dans un tableau

Un tableau est un variable qui contient une liste des elements

Ce que tu as dans le tableau "un commentaire" est un element de la liste et pas un commentaire

Tu peux stocker les lignes d'un fichier dans un tableau de la façon suivante

#!/usr/bin/perl
use warnings;use strict;

open LIRE,"fichier" or die "E/S : $!\n";

while ( <LIRE> ) {
    push @tab,$_;
}
Pour les commentaires tu peux faire comme ça
#!/usr/bin/perl
use warnings;use strict;

my @tab = ("un","deux","trois");      # un commentaire
@tab = (@tab,"quatre", "cinq", "six");# un autre commentaire
@tab = (@tab,"sept","huit","neuf");   # un autre commentaire 
Si tu me dit exactement ce que tu veux, peut être je pourrai t'aider ;)

lami20j

P.S. Et je ne vois pas où tu as tableaux de tableaux

Répondre à lami20j

2

bams14, le 25 sep 2006 à 20:48:54

Merci de ta réponse.
Je me suis effectivement mal exprimé : par "commentaire", je voulais dire ajouter du texte dans mon tableau (ce qui constituerait un commentaire pour l'utilisateur dans le fichier final, du type "cette ligne a été traitée", etc).

En gros : j'ouvre un fichier texte composé de lignes, et je le vide dans mon tableau. On peux dire schématiquement que je mets chaque mot dans un tableau, et ce tableau est stocké dans un tableau. Je me retrouve avec un tableau a 2 dimensions.
Je traite parfois ces lignes. Et c'est là que j'aimerais ajouter dans mon tableau quelques mots...

Répondre à bams14

4

hssissen, le 25 sep 2006 à 22:14:24

Salut,
Bon ça fait un bon bout de temps que je n'ai pas travaillé avec PERL, mais si j'ai bine compris ton probleme, tu peux utiliser le concept de LIST. C'est une sorte de vecteur que tu peux mettre tout ce que tu veux: vecteurs, matrices, tableaux... c'est juste une voie qui vaut le coup d'explorer.

Répondre à hssissen

5

 lami20j, le 25 sep 2006 à 22:47:59

Salut,

ça fait un bon bout de temps que je n'ai pas travaillé avec PERL
C'est une sorte de vecteur que tu peux mettre tout ce que tu veux: vecteurs, matrices, tableaux...


Un seul mot : hash

lami20j

Répondre à lami20j

3

lami20j, le 25 sep 2006 à 21:05:22

Re,

je ne suis toujours pas si j'ai bien compris.
pourquoi utiliser tableaux de tableaux.

Voilà comment je vois dans ton cas.
J'ai crée un fichier qui contient 3 lignes.

lami20j@debian:~/trash$ cat steph.txt
line 1
line 2
line 3
Je traite les lignes en mettant tout en majuscules.
Le script
#!/usr/bin/perl
use warnings;use strict;

open LIRE,"steph.txt" or die "E/S : $!\n";

while ( <LIRE> ){
  chomp;
  print uc($_)," - traitement de la ligne $.\n";
}
Le résultat
lami20j@debian:~/trash$ perl ccm_vider.pl
LINE 1 - traitement de la ligne 1
LINE 2 - traitement de la ligne 2
LINE 3 - traitement de la ligne 3
lami20j

P.S. Si j'ai mal compris, tu peux me donner un exemple concret.

Répondre à lami20j
Collection CommentÇaMarche.net