Ein Modul wird normalerweise mit dem Schlüsselwort use geladen.
Dadurch wird das Modul geladen und die import-Methode darauf aufgerufen, wodurch alle exportierten Symbole importiert werden.
Symbole im @EXPORT-Array des Pakets werden standardmäßig importiert.
Symbole im @EXPORT_OK-Array des Pakets müssen explizit importiert werden.
Damit ein Symbol importiert werden kann, muss es zuerst exportiert werden. Das Modul Exporter ist Teil von Perl und eine der bequemsten Möglichkeiten zum Exportieren.
Definieren des Moduls:
package Foo;
use Exporter ('import');
our @EXPORT_OK = ('bar');
sub bar { ... }
Verwenden des Moduls:
use Foo ('bar');
bar();
Neben Exporter bietet Perl eine große Auswahl an Kernmodulen, die du verwenden kannst. Einige nützliche Beispiele für Übungen, auf die du hier stoßen kannst, sind List::Util, Time::Piece und Math::BigRat.
Zusätzlich zu den Kernmodulen bietet CPAN Tausende weiterer Module, die von der Perl-Community erstellt wurden und installiert werden können. Der Perl-Track verwendet eine cpanfile, um eine Auswahl von Modulen zu installieren, die mit dem Perl-Test-Runner von Exercism verwendet werden können.
In dieser Übung arbeitest du an einem Terminplaner für einen Schönheitssalon.
Du hast drei Aufgaben, bei denen es jeweils um Termindaten geht.
Implementiere die Subroutine appointment_has_passed, die einen Datums-String entgegennimmt und prüft, ob der Termin irgendwann in der Vergangenheit lag:
appointment_has_passed("2019-07-25T13:45:00")
// => true
Datums-Strings werden im ISO-8601-Format für Datum und Uhrzeit übergeben: YYYY-mm-ddTHH:MM:SS
Du musst die private Subroutine _parse_datetime implementieren.
Ein paar Module werden dir empfohlen:
Implementiere die Funktion is_afternoon_appointment, die einen Datums-String entgegennimmt und prüft, ob der Termin am Nachmittag liegt (>= 12:00 und < 18:00):
is_afternoon_appointment("2019-07-25T13:45:00")
// => true
Implementiere die Funktion describe_appointment, die einen Datums-String entgegennimmt und eine Beschreibung dieses Datums und dieser Uhrzeit zurückgibt:
describe_appointment("2019-07-25T13:45:00")
// => "You have an appointment on 07/25/2019 1:45 PM"
Beachte, dass die Stunde im Bereich 0-12 liegt und weder eine führende Null noch ein Leerzeichen hat.
Melde dich bei Exercism an, um Perl mit 5 Konzepte84 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.