Recover from microbel

This commit is contained in:
Kursmester
2025-03-05 12:33:13 +01:00
committed by h7x4
commit f46dae2dea
10 changed files with 2349 additions and 0 deletions

56
Hello2.pm Normal file
View File

@@ -0,0 +1,56 @@
# Vi prøver oss på nytt, og lager en fil som vi kaller Hello.pm
package Hello2; # Nesten som før...
sub new { # Vanlig navn på en konstruktor er "new" - ingen tvang!
my $package = shift; # første argument er alltid en referanse
# til
my $navn = shift;
my $kjonn = shift;
die "new() skal ha 2 argumenter" if @_;
die "$navn sitt kjønn må være 'M' eller 'K'! (ikke '$kjonn')\n"
unless $kjonn =~ m/^[MK]$/;
my $person = {
navn => $navn,
kjonn => $kjonn,
_ant_hils => 0 };
bless( $person, $package ); # Her knytter vi $person til
# $package, slik at vi får
# effekten av en klasse.
return $person;
}
sub hils {
my $self = shift;
my $hva = $self->{kjonn} eq "M" ? "han" : "hun";
my $hvem = $self->{navn};
$self->{_ant_hils}++; # hvor mange ganger "jeg" er blitt hilst på?
return "Nei, se! Der har vi jo $hva $hvem!\n";
}
sub vis_ant_hilsninger {
my $self = shift;
return $self->{_ant_hils};
}
sub vis_navn {
my $self = shift;
return $self->{navn};
}
sub vis_kjonn {
my $self = shift;
return $self->{kjonn};
}
1; # Så avslutter vi med en sann verdi.