Un módulo se carga normalmente con la palabra clave use.
Esto lo carga y además llama a su método import, importando cualquier símbolo exportado.
Los símbolos del array @EXPORT del paquete se importan de forma predeterminada.
Los símbolos del array @EXPORT_OK del paquete se deben importar de forma explícita.
Para que un símbolo se pueda importar, primero se debe exportar. El módulo Exporter viene incluido con Perl y es una de las opciones más convenientes 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();
Junto con Exporter, Perl tiene una gran variedad de módulos del núcleo disponibles para usar. Algunos ejemplos útiles para los ejercicios que puedes encontrar aquí incluyen List::Util, Time::Piece y Math::BigRat.
Además de los módulos del núcleo, 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 sistema para agendar citas de un salón de belleza.
Tienes tres tareas, y todas tendrán que ver con las fechas de las citas.
Implementa la subrutina appointment_has_passed, que recibe un string de fecha y verifica 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 el formato de fecha y hora ISO 8601: YYYY-mm-ddTHH:MM:SS
Tendrás que implementar la subrutina privada _parse_datetime.
Te sugerimos un par de módulos:
Implementa la función is_afternoon_appointment, que recibe un string de fecha y verifica si la cita es en 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 de 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 que la hora está en el rango de 0 a 12 y no tiene 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.