Script Perl

Résolu
Niroise Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
valentin2703 Messages postés 180 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je souhaite concaténer plusieurs tableaux en un seul. à vrai dire le résultat d'un traitement est stocké dans plusieurs tableaux
d'une seule colonne et le tableau final que je souhaite obtenir doit avoir le nombre de tableaux en colonnes.

comment devrai-je procéder. Merci :)
A voir également:

1 réponse

valentin2703 Messages postés 180 Date d'inscription   Statut Membre Dernière intervention   9
 
Salut,

Tu a juste a créer un tableau principal dans lequel tu ajoute tes tableaux secondaires, ce qui va te donner un tableau à deux dimensions, comme ceci :

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

my @tab_1 = ("11", "12", "13");
my @tab_2 = ("21", "22", "23");
my @tab_3 = ("31", "32", "33");
my @finalTab;

$finalTab[0] = @tab_1;
$finalTab[1] = @tab_2;
$finalTab[2] = @tab_3;


Ensuite, si tu veut afficher le contenu du tableau, il faut faire deux boucles imbriquées.
0
Niroise Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
merci beaucoup,

Je vous savoir aussi es-ce-qu'on peut affecter des variables dans des tableau, genre

$x c'est le résultat d'un traitement dans une boucle et à chaque itération je fais :

et $tab[$i] = $x;


donc le tableau aura pour élément les valeur de la variable $x à chaque itération ?
0
valentin2703 Messages postés 180 Date d'inscription   Statut Membre Dernière intervention   9
 
Oui on peut faire ça :)

Si tu ne veut pas t'embêter avec les boucles ($i), tu peut utiliser la fonction push() en perl. C'est plus pratique. Il suffit de faire push(TABLEAU, VALEUR), par exemple :
push(@tab, $x);
0
Niroise Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
merciii :)
0
Niroise Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
encore une question!
comment peut-on déclarer un tableau avec des lignes et des colonnes. car ce que je veux faire moi, comme $x est une variable qui a plusieurs valeurs je l'insère dans la case @ tab[i]
et une autre variable $y dans la case @tab [$i+1]
0
valentin2703 Messages postés 180 Date d'inscription   Statut Membre Dernière intervention   9
 
Si tu veut juste insérer à la case i+1 à chaque fois, il te suffit d'utiliser la fonction push()
push(@tab, $x);    
push(@tab, $y);


Si ton $x a plusieurs valeurs, alors fait en un tableau plutôt qu'une variable, c'est plus propre.
Du coup si ton $x devient un @x (un tableau), alors tu auras un tableau à deux dimensions, ce qui correspond à un tableau ligne/colonne, ou toutes les valeurs de @x correspondent à une ligne :
Si @x = (1,2,3,4,5) et @y = (6,7,8,9,10)
Avec $tab[0] = @x et $tab[1] = @y
Alors on a un tableau qui ressemble à ça :
1 2 3 4 5
6 7 8 9 10
0