#!/usr/bin/perl use warnings; use strict; { package Lamp; use warnings; use strict; sub new { my $classname = shift; my $self = {status => "off"}; return bless($self, $classname); } sub switchOn { my $self = shift; print "Click. Light.\n"; $self->{status} = "on"; } sub switchOff { my $self = shift; print "Click. Darkness.\n"; $self->{status} = "off"; } sub printStatus { my $self = shift; print "The lamp is " . $self->{status} . " now.\n"; } } my $lamp = Lamp -> new(); $lamp -> printStatus(); $lamp -> switchOn(); $lamp -> printStatus(); $lamp -> switchOff(); $lamp -> printStatus(); print $lamp->{status}."\n";