Recover from microbel
This commit is contained in:
56
Hello2.pm
Normal file
56
Hello2.pm
Normal 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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user