Bonjour,

Je viens de commencer le perl mais je suis confronté à un problème.

J'étais sur un projet, mais j'ai décidé de recréer le problème sous la forme la plus simple possible afin de le régler moi même et je ne vois pas de solution.

Je suis sous Linux, j'ai crée un dossier test dans le répertoire /usr/lib/.
Dans ce dossier se trouvent deux fichiers que j'ai crée

/usr/lib/test/test.pl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
#!/usr/bin/perl -w
use Test;
my $dupond = Test->new();
/usr/lib/test/Test.pm
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
#!/usr/bin perl
package Test;
use strict;
use warnings;
 
sub new{
	my($classe)=@_;
	my $this = {};
	bless($this,$classe);
	$this->{nom}	= "testnom";
	$this->{prenom}	= "testprenom";
	$this->{age}	= 20;
	return $this;
}
 
1;
Lorsque j'execute mon fichier test.pl, une erreur m'est retourné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Can't locate object method "new" via package "Test" at test.pl line 3.
Le constructeur new n'est pas trouvé dans mon fichier de classe.

> J'ai essayé de changer de nom de constructeur.
> J'ai essayé un constructeur par défaut, mais également par paramètres
> J'ai essayé avec d'autres noms de classe

Mais rien n'y change...

Si vous avez une solution, merci d'avance.

Cordialement.