Bonjour,
J'aurais voulu savoir s'il est possible en Perl de faire des structures comme en C.
Genre :
struct MaStructure {
int Age;
char Sexe;
char Nom[12];
float MoyenneScolaire;
};
Merci
peuf23
Version imprimable
Bonjour,
J'aurais voulu savoir s'il est possible en Perl de faire des structures comme en C.
Genre :
struct MaStructure {
int Age;
char Sexe;
char Nom[12];
float MoyenneScolaire;
};
Merci
peuf23
Ben tu peut passer par du Perl objet (cf. FAQ)... mais ca ressemble plus aux classes de C++. (ce qui la version objet des struct du C:D )
il suffit de passer par les références de hash:
Code:
1
2
3
4
5
6
7
8
9
10 my $struct = { 'age' => 15 , 'sexe' => 'm' , 'nom' => 'toto' , 'moyennescolaire' => 13.8 }; print "mon nom est " . $struct->{'nom'} . ".";
Pas vraiment MarneusCalgar... L'avantage de la structure est que l'on créé un type (en C++ on fais monType var; pour déclarer une variable de type monType)...
Si peuf23 a besoin d'instancier sa structure, autant faire une fonction qui retourne le hash $struct et le tour est joué ;)
Soit, mais ce que tu proposes, c'est juste une proposition englobant le principe que j'ai ennoncé... donc quand tu dis "pas vraiment", je ne te comprends pas trop.
L'utilisation d'un hash est souvent largement suffisante, mais si tu veux un équivalent des struct du C, avec des champs typés, il faut effectivement te tourner vers du Perl Objet, processus qui est automatisé dans ton cas par Class::Struct (module intégré dans le CORE depuis la 5.6).
--
Jedaï