# Vi starter med å lage en fil som vi kaller Hello.pm

package Hello;   # Samme navn som fila, men uten ".pm"

# Om fila het Hello/World.pm, må vi kalle pakken Hello::World

sub person {
        my $navn = shift;
        my $kjonn = shift;

        die "person() skal ha 2 argumenter" unless @_ == 0;
        die "$navn sitt kjønn må være 'M' eller 'K'! (ikke '$kjonn')\n"
            unless $kjonn =~ m/^[MK]$/;

        return [ $navn, $kjonn, 0 ]; # siste tallet er en "hilse-teller"
}

sub hils {
        my $person = shift;  # vi venter oss returverdien fra person()
        my $hva = $person->[1] eq "M" ? "han" : "hun";
        my $hvem = $person->[0];

        $person->[2]++;  # hvor mange ganger $person er blitt hilst på?

        print "Nei, se! Der har vi jo $hva $hvem!\n";
}

sub vis_ant_hilsninger {
        my $person = shift;
        my $hvem = $person->[0];
        my $ant = $person->[2];
        print "Vi har hilset på $hvem $ant gang",
            ( $ant-1 ? "er" : "" ), "\n";
}

1;   # det er viktig at alle moduler returnerer en sann verdi!