Blame


1 1ddd2d4e 2023-09-10 jrmu #!/usr/bin/perl
2 1ddd2d4e 2023-09-10 jrmu
3 1ddd2d4e 2023-09-10 jrmu # The Oogaboogoo natives on the island have unusual names for the days and
4 1ddd2d4e 2023-09-10 jrmu # months. Here is some simple but not very well-written code from Gilligan.
5 1ddd2d4e 2023-09-10 jrmu # Fix it up, add a conversion function for the month names, and make the
6 1ddd2d4e 2023-09-10 jrmu # whole thing into a library. For extra credit, add suitable error checking
7 1ddd2d4e 2023-09-10 jrmu # and consider what should be in the documentation.
8 1ddd2d4e 2023-09-10 jrmu #
9 1ddd2d4e 2023-09-10 jrmu # @day = qw(ark dip wap sen pop sep kir);
10 1ddd2d4e 2023-09-10 jrmu # sub number_to_day_name { my $num = shift @_; $day[$num]; }
11 1ddd2d4e 2023-09-10 jrmu # @month = qw(diz pod bod rod sip wax lin sen kun fiz nap dep);
12 1ddd2d4e 2023-09-10 jrmu
13 1ddd2d4e 2023-09-10 jrmu use v5.24;
14 1ddd2d4e 2023-09-10 jrmu use warnings;
15 1ddd2d4e 2023-09-10 jrmu use strict;
16 1ddd2d4e 2023-09-10 jrmu use utf8;
17 1ddd2d4e 2023-09-10 jrmu
18 1ddd2d4e 2023-09-10 jrmu package Oogaboogoo;
19 1ddd2d4e 2023-09-10 jrmu
20 1ddd2d4e 2023-09-10 jrmu @day = qw(ark dip wap sen pop sep kir);
21 1ddd2d4e 2023-09-10 jrmu @month = qw(diz pod bod rod sip wax lin sen kun fiz nap dep);
22 1ddd2d4e 2023-09-10 jrmu sub number_to_day_name {
23 1ddd2d4e 2023-09-10 jrmu my $num = shift @_;
24 1ddd2d4e 2023-09-10 jrmu die "Invalid day number" if $num >= 7 or $num < 0;
25 1ddd2d4e 2023-09-10 jrmu $day[$num];
26 1ddd2d4e 2023-09-10 jrmu }
27 1ddd2d4e 2023-09-10 jrmu sub number_to_month_name {
28 1ddd2d4e 2023-09-10 jrmu my $num = shift @_;
29 1ddd2d4e 2023-09-10 jrmu die "Invalid month number" if $num >= 12 or $num < 0;
30 1ddd2d4e 2023-09-10 jrmu $month[$num];
31 1ddd2d4e 2023-09-10 jrmu }
32 1ddd2d4e 2023-09-10 jrmu 1;