#!/usr/bin/perl use strict; use warnings; package MyObject; sub new { print "method 'new' called with parameters: ", join ("\n", @_ ), "\n"; my ( $class, @args ) = @_; my $self = {}; $self -> {state} = "newly created"; bless $self, $class; return $self; } sub set_state { my ( $self, $new_state ) = @_; $self -> {state} = $new_state; } sub get_state { my ( $self ) = @_; return $self -> {state}; }