Un problème tout simple pour un programmeur perl chevronné, mais j'ai cherché et je ne trouve pas, et ça ne s'execute pas comme il faut.

J'ai 2 classes quasiment similaire.

une classe grille qui possède deux attributs une chaine de caractère et un tableau de 2 éléments.
le tableau {M} est construit comme suit


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
$i=0;
      foreach $tab (@grilletab)
      {
     ($x,$y)= ($tab  =~ m/^\n*(.+)\s*-\s*(.+)/ );
      $this->{M}[$i]=[$x,$y];
      $i++;
    }
et

une classe prono qui possède deux attributs une chaine de caractère et un tableau de 2 éléments.
le tableau {M} est construit comme suit

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    $i=0;
      foreach $tab (@pronotab)
      {
     ($x,$y,$a,$b)= ($tab  =~ m/^\n*(.+)\s*-\s*(.+)\s*(\d+)\s*[-\/]\s*(\d+)/ );
 
      $this->{M}[$i]=[$x,$y,$a,$b];
      $i++;
    }
A priori ne pause pas de problème car je retrouve mes tout mes petits.
Dans mon programme principale avec une instance de la classe grille et une liste de la classe prono. Aucun problème.

J'arrive à parcourir la liste de prono et à récupérer toutes les valeurs.
Mais je voudrais indépendament récuperer le tableau M de la dernier case de la liste de prono comme un tableau , et récupérer le tableau M de la grille comme un tableau mais je n'y arrive pas


J'ai essayé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
my @tabgrille = @{$grille->{M}};
==> mais dans dans $tabgrille[0], j'ai un ARRAY et dans $tabgrille[1] je n'ai rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 my @tabresult = $listprono[-1]->{M};
==> ça je sais que c'est faux.

Je voudrais parcourir ensuite ces 2 tableaux. Si quelqu'un pouvait me guider pour ce point précis pour récuperer, sous formede tableau, un tableau dans un objet.

Merci