Bonjour,

J'ai le script suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
close $f;
 
#open my $fichier, '>>', "/home/gcadars/matrice/matrice2/gcont_2301.dist";
 
# mes 3 varables
my ( @x, @y, @z );
 
# parsing
foreach my $i ( @data )
{
    # echap les ligne qui commance par un chiffre
    next unless ( $i =~ /^[^0-9]/ );
 
    chomp( $i );
 
    # decoupage de la ligne
    my @t = split / /, $i;
 
    # ajoute au bon tableau
    push @x, shift @t;
    push @z, \@t;
}
 
# copie x -> y
@y = @x;
 
# affichage des données
print '@x = ', join ' ', @x, "\n";
print '@y = ', join ' ', @x, "\n";
foreach my $i (0..5)
{
    print '@z['.$i.'] = ', join ' ' , @{$z[$i]}, "\n";
}
qui travaille avec ce fichier :

5
ecj 0.0 3.598 3.275 3.675 3.585
ebw 3.598 0.0 3.201 3.618 3.497
ecok 3.275 3.201 0.0 3.232 3.157
eco 3.675 3.618 3.232 0.0 3.535
ecd 3.585 3.497 3.157 3.535 0.0


Et qui me printe ceci :

@x = ecj ebw ecok eco ecd
@y = ecj ebw ecok eco ecd
@z[0] = 0.0 3.598 3.275 3.675 3.585
@z[1] = 3.598 0.0 3.201 3.618 3.497
@z[2] = 3.275 3.201 0.0 3.232 3.157
@z[3] = 3.675 3.618 3.232 0.0 3.535
@z[4] = 3.585 3.497 3.157 3.535 0.0
@z[5] =

J'aimerai modifier mon script pour avoir mes résultats sous ce format :

@x = ['ecj', 'ebw', 'ecok', 'eco', 'ecd']
@y = ['ecj', 'ebw', 'ecok', 'eco', 'ecd']
@z = [0.00, 3.598, 3.275, 3.675, 3.585], [3.598, 0.0, 3.201, 3.618, 3.497], [3.275, 3.201, 0.0, 3.232, 3.157], [3.675, 3.618, 3.232, 0.0, 3.535], [3.585, 3.497, 3.157, 3.535, 0.0]

Merci par avance