Un module se charge généralement avec le mot-clé use.
Cela le charge et appelle sa méthode import, ce qui importe tous les symboles exportés.
Les symboles présents dans le tableau @EXPORT du paquetage sont importés par défaut.
Ceux du tableau @EXPORT_OK doivent être importés explicitement.
Pour qu'un symbole puisse être importé, il doit d'abord être exporté. Le module Exporter est fourni avec Perl et c'est l'une des options les plus pratiques pour exporter.
Définition du module :
package Foo;
use Exporter ('import');
our @EXPORT_OK = ('bar');
sub bar { ... }
Utilisation du module :
use Foo ('bar');
bar();
En plus d'Exporter, Perl dispose d'une grande variété de modules de base que l'on peut utiliser. Quelques exemples utiles pour les exercices que tu pourrais rencontrer ici : List::Util, Time::Piece et Math::BigRat.
En plus des modules de base, CPAN met à disposition des milliers de modules supplémentaires créés par la communauté Perl, prêts à être installés. Le parcours Perl utilise un cpanfile pour installer une sélection de modules utilisables avec l'exécuteur de tests Perl d'Exercism.
Dans cet exercice, tu vas travailler sur un planificateur de rendez-vous pour un salon de beauté.
Tu as trois tâches, qui porteront toutes sur des dates de rendez-vous.
Implémente le sous-programme appointment_has_passed qui prend une chaîne de date et vérifie si le rendez-vous se situe quelque part dans le passé :
appointment_has_passed("2019-07-25T13:45:00")
// => true
Les chaînes de date seront fournies au format ISO 8601 : YYYY-mm-ddTHH:MM:SS
Tu devras implémenter le sous-programme privé _parse_datetime.
Deux modules te sont suggérés :
Implémente la fonction is_afternoon_appointment qui prend une chaîne de date et vérifie si le rendez-vous a lieu l'après-midi (>= 12:00 et < 18:00) :
is_afternoon_appointment("2019-07-25T13:45:00")
// => true
Implémente la fonction describe_appointment qui prend une chaîne de date et renvoie une description de cette date et de cette heure :
describe_appointment("2019-07-25T13:45:00")
// => "You have an appointment on 07/25/2019 1:45 PM"
Note que l'heure est comprise entre 0 et 12 et qu'elle n'a ni zéro ni espace en tête.
Inscris-toi sur Exercism pour apprendre et maîtriser Perl avec 5 concepts84 exercices, et un vrai mentorat humain, le tout gratuitement.