38 lines
1.0 KiB
Perl
38 lines
1.0 KiB
Perl
|
|
# 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!
|