1 1ddd2d4e 2023-09-10 jrmu #!/usr/bin/perl
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.
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);
14 1ddd2d4e 2023-09-10 jrmu use warnings;
18 1ddd2d4e 2023-09-10 jrmu package Oogaboogoo;
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;
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];