Bonjour,
Je cherche a comprendre le fonctionnement objet sous perl. J'arrive bien a recuperer les variables simples, mais pas les tableaux.

J'ai une classe, qui a l'air de faire le travail demandé :

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
 
#fichier explore_bl2seq.pm
package explore_bl2seq;
use strict;
sub explore
{
	my($class,$file)=@_;
	my $this={};
	bless($this,$class);
	my @tab;
	my $i;
	for($i=0;$i<10;$i++)
	{
		push(@tab,($i*11));
 
	}
	#print @tab; #renvoie bien toutes les valeurs du tableau
	$this->{FILEINI}=$file;
	$this->{FILEMODIF}=$file."truc";
	$this->{TABLEAU}=@tab;
	return $this;
}
1;
Et le script qui l'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
#!/usr/bin/perl
use strict;
use explore_bl2seq;
my $ficini;
my $ficmodif;
my @tableau;
my $f;
my $expl=explore_bl2seq->explore('fichier_blast');
$ficini=$expl->{FILEINI};
$ficmodif=$expl->{FILEMODIF};
@tableau=$expl->{TABLEAU};
print $ficini."\n".$ficmodif."\n"; #renvoie les valeurs attendues
print @tableau; #renvoie...10 (???!!)
Le probleme est que le script ne recupere pas le tableau, mais la valeur 10 (le nb d'elements du tableau) !

Qu'est-ce que je fais mal ?

Merci pour votre aide,
Sohnic