Un módulo se suele cargar con la palabra clave use.
Esto lo carga y, además, llama a su método import, importando los símbolos exportados.
Los símbolos del array @EXPORT del paquete se importan de forma predeterminada.
Los símbolos del array @EXPORT_OK del paquete deben importarse explícitamente.
Para que un símbolo se importe, antes debe exportarse. El módulo Exporter se incluye con Perl y es una de las opciones más cómodas para exportar.
Definir el módulo:
package Foo;
use Exporter ('import');
our @EXPORT_OK = ('bar');
sub bar { ... }
Usar el módulo:
use Foo ('bar');
bar();
Además de Exporter, Perl tiene una gran variedad de módulos principales disponibles. Algunos ejemplos útiles para los ejercicios que puedes encontrar aquí son List::Util, Time::Piece y Math::BigRat.
Además de los módulos principales, CPAN tiene miles de módulos adicionales creados por la comunidad de Perl disponibles para instalar. El track de Perl usa un cpanfile para instalar una selección de módulos que se pueden usar con el test runner de Perl de Exercism.
En este ejercicio vas a trabajar en un planificador de citas para un salón de belleza.
Tienes tres tareas, y todas ellas estarán relacionadas con las fechas de las citas.
Implementa la subrutina appointment_has_passed, que recibe un string con una fecha y comprueba si la cita fue en algún momento del pasado:
appointment_has_passed("2019-07-25T13:45:00")
// => true
Los strings de fecha se pasarán en formato de fecha y hora ISO 8601: YYYY-mm-ddTHH:MM:SS
Tendrás que implementar la subrutina privada _parse_datetime.
Se te sugieren un par de módulos:
Implementa la función is_afternoon_appointment, que recibe un string con una fecha y comprueba si la cita es por la tarde (>= 12:00 y < 18:00):
is_afternoon_appointment("2019-07-25T13:45:00")
// => true
Implementa la función describe_appointment, que recibe un string con una fecha y devuelve una descripción de esa fecha y hora:
describe_appointment("2019-07-25T13:45:00")
// => "You have an appointment on 07/25/2019 1:45 PM"
Fíjate en que la hora está en el rango 0-12 y no lleva un cero ni un espacio a la izquierda.
Regístrate en Exercism para aprender y dominar Perl con 5 conceptos84 ejercicios y mentoría humana real, todo gratis.