| |
|
1:
#!/usr/bin/perl
|
|
2:
|
|
3:
package Lampadina;
|
|
4:
|
|
5:
sub new {
|
|
6:
my $self = shift() || {
|
|
7:
stato => 'spenta',
|
|
8:
potenza => '0W',
|
|
9:
attacco => 'baionetta',
|
|
10:
luce => 'gialla',
|
|
11:
};
|
|
12:
bless $self;
|
|
13:
return $self;
|
|
14:
}
|
|
15:
|
|
16:
sub switch {
|
|
17:
my $self = shift;
|
|
18:
$self{state} = $self{state} eq 'accesa' ? 'spenta' : 'accesa';
|
|
19:
}
|
|
20:
|
|
21:
sub state {
|
|
22:
my $self = shift;
|
|
23:
return $self{state};
|
|
24:
}
|
|
25:
|
|
26:
package main;
|
|
27:
|
|
28:
my $lampadina = new Lampadina({
|
|
29:
stato => 'spenta',
|
|
30:
potenza => '60W',
|
|
31:
attacco => 'edison',
|
|
32:
luce => 'bianca',
|
|
33:
});
|
|
34:
|
|
35:
if ( $lampadina->state() eq 'spenta' ) {
|
|
36:
$lampadina->switch();
|
|
37:
print "la lampadina ora è accesa\n";
|
|
38:
} else {
|
|
39:
$lampadina->switch();
|
|
40:
print "la lampadina è spenta\n";
|
|
41:
}
|
| | |