[PERL]-Insérer dans un tab. multi-dim.

Fermé
blux Messages postés 26507 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 - 18 oct. 2006 à 11:13
blux Messages postés 26507 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 - 19 oct. 2006 à 09:29
Bonjour,

je cherche à créer un tableau à 2 dimensions et à y rajouter des lignes au fur et à mesure avec un truc comme ça :
@Tab_Pool = (["A","n","1","2"]);
$Tab_Pool[scalar @Tab_Pool] = (["B","o","1"]);
$Tab_Pool[scalar @Tab_Pool] = (["C","n","5","4","8"]);

Mais je n'ai pas les résultats escomptés, comme s'il mettait tout dans la première ligne...

Si quelqu'un a un truc (sans passer par les listes de listes et sans gérer les indices manuellement), je suis preneur...

Merci d'avance.
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 oct. 2006 à 11:28
Salut,

je ne sais pas si j'ai bien saisi ce que tu veux.

Pourquoi n'utilises-tu plutôt push au lieu de créer toujours un indice avec l'affectation scalar @tableau ?

Mais je n'ai pas les résultats escomptés, comme s'il mettait tout dans la première ligne...

Affiche plutôt ce que tu veux obtenir.

De toute façon un tableau à 2 dimensions c'et un tableau de tableaux.
Et ça sera toujours une liste à plat des tableaux.

Ensuite pour l'afficher tu peux faire ce que tu veux.

lami20j
0
blux Messages postés 26507 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 3 317
18 oct. 2006 à 12:36
Je crée un script dans lequel je voudrais pouvoir revenir pour ajouter des lignes à un tableau à 2 dim (dans quelques jours, mois, années...)

Je veux avoir ça :

$Tab_Pool[0][0] = "A";
$Tab_Pool[0][1] = "n";
$Tab_Pool[0][2] = "1";
...
$Tab_Pool[2][0] = "B";
$Tab_Pool[2][1] = "o";
...

Mais je ne voudrais pas que cela soit compliqué à gérer si je veux rajouter une ligne supplémentaire (fautes de frappe en prévision !).

Me fais-je comprendre ?

Pourquoi n'utilises-tu plutôt push au lieu de créer toujours un indice avec l'affectation scalar @tableau ?
Parce que je ne connais pas tout ce qu'on peut faire avec Perl...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 oct. 2006 à 13:17
Re,

je verrai ça se soir.

je suis au boulot.

a+

lami20j
0
blux Messages postés 26507 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 3 317 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
18 oct. 2006 à 13:21
Moi aussi, j'y suis, et c'est pour le boulot...

Je vais quand même regarder ce qu'on peut faire avec push...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 oct. 2006 à 19:25
Salut,

je ne sais pas si tu as réussi.

Ca depends d'où tu veux récuperer les données : STDIN, un fichier, un tableau généré par le script, etc...

En gros si tu veux ajouter une ligne à ton tableau à deux dimension tu dois faire quelque chose de genre
push @Tab_Pool, [ @ligne ]
lami20j
0
blux Messages postés 26507 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 3 317
19 oct. 2006 à 09:29
J'ai réussi avec push...

Mes données sont des "constantes" dans le script, et je voulais une méthode pour en ajouter facilement, sans passer par un fichier externe de stockage...
0